{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "from numpy import *\n",
    "import operator\n",
    "from os import listdir\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def createDataSet():\n",
    "#     1.每年获得的飞行常客里程数\n",
    "#     2.玩视频游戏占用的时间百分比\n",
    "#     3.每周消耗的冰淇淋公升数\n",
    "    group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])\n",
    "    labels = ['A','A','B','B']\n",
    "    return group, labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1.0, 1.0]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "group, labels=createDataSet()\n",
    "ax=[]\n",
    "ay=[]\n",
    "bx=[]\n",
    "by=[]\n",
    "for i in range(len(labels)):\n",
    "    if labels[i]=='A':\n",
    "        ax.append(group[i][0])\n",
    "        ay.append(group[i][1])\n",
    "    else:\n",
    "        bx.append(group[i][0])\n",
    "        by.append(group[i][1])\n",
    "ax"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(111)\n",
    "ax1.scatter(ax, ay, s=30, c='red', marker='s')       #散点图  \n",
    "ax1.scatter(bx, by, s=30, c='green')\n",
    "\n",
    "# 直线 x 的范围\n",
    "\n",
    "# 画出直线，weights[0]*1.0+weights[1]*x+weights[2]*y=0  \n",
    "# 之前计算时对原始数据做了拓展，将两维拓展为三维，第一维全部设置为1.0，实际他是一个 y=ax+b, b常量  \n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "def classify0(inX, dataSet, labels, k):\n",
    "    \"\"\"\n",
    "    用于分类的输入向量：inX\n",
    "    输入训练集：dataSet\n",
    "    标签向量：labels\n",
    "    选择近邻的数目：k\n",
    "    \"\"\"\n",
    "    #标签向量的元素和矩阵dataSet的行数相同，dataSetSize为行数\n",
    "    dataSetSize = dataSet.shape[0]\n",
    "    #将inX向量按行重复dataSetSize次，列重复一次，变成与dataSet一样的形式，并计算差值diffMat\n",
    "    diffMat = tile(inX, (dataSetSize,1)) - dataSet\n",
    "    print(diffMat)\n",
    "    #对差值求平方\n",
    "    sqDiffMat = diffMat**2\n",
    "    print(sqDiffMat)\n",
    "    #axis=1 把每一行向量的值加在一起求和\n",
    "    sqDistances = sqDiffMat.sum(axis=1)\n",
    "    distances = sqDistances**0.5\n",
    "    print('distances:',distances)\n",
    "    #argsort():将x中的元素从小到大排列，提取其对应的index(索引)，然后输出索引\n",
    "    sortedDistIndicies = distances.argsort()\n",
    "    print('sortedDistIndicies',sortedDistIndicies)\n",
    "    classCount={}\n",
    "    for i in range(k):\n",
    "        #sortedDistIndicies[i]返回的是distances中排在第i个数值的索引\n",
    "        #labels[i]:即返回的是第i个位置的向量的标签存入voteIlabel\n",
    "        voteIlabel = labels[sortedDistIndicies[i]]\n",
    "        #更新字典中对应标签的数值\n",
    "        classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1\n",
    "    \"\"\"\n",
    "    sorted(itera ble[, cmp[, key[, reverse]]])\n",
    "    参数解释：\n",
    "（1）iterable指定要排序的list或者iterable，不用多说；\n",
    "（2）cmp为函数，指定排序时进行比较的函数，可以指定一个函数或者lambda函数，如：\n",
    "      students为类对象的list，每个成员有三个域，用sorted进行比较时可以自己定cmp函数，例如这里要通过比较第三个数据成员来排序，代码可以这样写：\n",
    "      students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]\n",
    "      sorted(students, key=lambda student : student[2])\n",
    "（3）key为函数，指定取待排序元素的哪一项进行排序，函数用上面的例子来说明，代码如下：\n",
    "       sorted(students, key=lambda student : student[2]) \n",
    "       key指定的lambda函数功能是去元素student的第三个域（即：student[2]），因此sorted排序时，会以students所有元素的第三个域来进行排序。\n",
    "有了上面的operator.itemgetter函数，也可以用该函数来实现，例如要通过student的第三个域排序，可以这么写：\n",
    "sorted(students, key=operator.itemgetter(2)) \n",
    "sorted函数也可以进行多级排序，例如要根据第二个域和第三个域进行排序，可以这么写：\n",
    "sorted(students, key=operator.itemgetter(1,2))  \n",
    "    \"\"\"\n",
    "    print(classCount)\n",
    "    #{'A': 2, 'B': 1}\n",
    "    sortedClassCount = sorted(classCount.items(), key=operator.itemgetter(1), reverse=True)\n",
    "    return sortedClassCount[0][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[0.1 0.1]\n",
      " [0.1 0.2]\n",
      " [1.1 1.2]\n",
      " [1.1 1.1]]\n",
      "[[0.01 0.01]\n",
      " [0.01 0.04]\n",
      " [1.21 1.44]\n",
      " [1.21 1.21]]\n",
      "distances: [0.14142136 0.2236068  1.62788206 1.55563492]\n",
      "sortedDistIndicies [0 1 3 2]\n",
      "{'A': 2, 'B': 1}\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'A'"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "classify0([1.1,1.2], group, labels, 3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'\\ndef classify0(inX,dataSet,labels,k):\\n    #求出样本集的行数，也就是labels标签的数目\\n    dataSetSize = dataSet.shape[0]\\n    #构造输入值和样本集的差值矩阵\\n    diffMat = tile(inX,(dataSetSize,1)) - dataSet\\n    #计算欧式距离\\n    sqDiffMat = diffMat**2\\n    sqDistances = sqDiffMat.sum(axis=1)\\n    distances = sqDistances**0.5\\n    #求距离从小到大排序的序号\\n    sortedDistIndicies = distances.argsort()\\n    #对距离最小的k个点统计对应的样本标签\\n    classCount = {}\\n    for i in range(k):\\n        #取第i+1近邻的样本对应的类别标签\\n        voteIlabel = labels[sortedDistIndicies[i]]\\n        #以标签为key，标签出现的次数为value将统计到的标签及出现次数写进字典\\n        classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1\\n    #对字典按value从大到小排序\\n    sortedClassCount = sorted(classCount.items(),key=operator.itemgetter(1),reverse=True)\\n    #返回排序后字典中最大value对应的key\\n    return sortedClassCount[0][0]\\n#----------------------------------------------------------------------------\\n#函数运行耗时统计函数\\ndef time_me(fn):\\n  def _wrapper(*args, **kwargs):\\n    start = time.clock()\\n    fn(*args, **kwargs)\\n    print (\"\\n%s cost %s second\"%(fn.__name__, time.clock() - start))\\n  return _wrapper\\n'"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#网上的备注，我没有用到\n",
    "\"\"\"\n",
    "def classify0(inX,dataSet,labels,k):\n",
    "    #求出样本集的行数，也就是labels标签的数目\n",
    "    dataSetSize = dataSet.shape[0]\n",
    "    #构造输入值和样本集的差值矩阵\n",
    "    diffMat = tile(inX,(dataSetSize,1)) - dataSet\n",
    "    #计算欧式距离\n",
    "    sqDiffMat = diffMat**2\n",
    "    sqDistances = sqDiffMat.sum(axis=1)\n",
    "    distances = sqDistances**0.5\n",
    "    #求距离从小到大排序的序号\n",
    "    sortedDistIndicies = distances.argsort()\n",
    "    #对距离最小的k个点统计对应的样本标签\n",
    "    classCount = {}\n",
    "    for i in range(k):\n",
    "        #取第i+1近邻的样本对应的类别标签\n",
    "        voteIlabel = labels[sortedDistIndicies[i]]\n",
    "        #以标签为key，标签出现的次数为value将统计到的标签及出现次数写进字典\n",
    "        classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1\n",
    "    #对字典按value从大到小排序\n",
    "    sortedClassCount = sorted(classCount.items(),key=operator.itemgetter(1),reverse=True)\n",
    "    #返回排序后字典中最大value对应的key\n",
    "    return sortedClassCount[0][0]\n",
    "#----------------------------------------------------------------------------\n",
    "#函数运行耗时统计函数\n",
    "def time_me(fn):\n",
    "  def _wrapper(*args, **kwargs):\n",
    "    start = time.clock()\n",
    "    fn(*args, **kwargs)\n",
    "    print (\"\\n%s cost %s second\"%(fn.__name__, time.clock() - start))\n",
    "  return _wrapper\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "#从文本文件中解析数据\n",
    "def file2matrix(filename):\n",
    "    love_dictionary={'largeDoses':3, 'smallDoses':2, 'didntLike':1}\n",
    "    fr = open(filename)\n",
    "    arrayOLines = fr.readlines()\n",
    "    #得到文件行数\n",
    "    numberOfLines = len(arrayOLines)            #get the number of lines in the file\n",
    "    returnMat = zeros((numberOfLines,3))        #prepare matrix to return\n",
    "    classLabelVector = []                       #prepare labels return   \n",
    "    index = 0\n",
    "    for line in arrayOLines:\n",
    "        #截取所有的回车字符\n",
    "        line = line.strip()\n",
    "        \"\"\"\n",
    "        split()通过指定分隔符对字符串进行切片，如果参数num 有指定值，则仅分隔 num 个子字符串\n",
    "        split()方法语法：\n",
    "            str.split(str=\"\",num=string.count(str))\n",
    "        参数\n",
    "            str -- 分隔符，默认为所有的空字符，包括空格、换行(\\n)、制表符(\\t)等。\n",
    "            num -- 分割次数。\n",
    "        \"\"\"\n",
    "        #将正行数据分割成元素列表\n",
    "        listFromLine = line.split('\\t')\n",
    "        #前三个元素存储到特征矩阵中\n",
    "        returnMat[index,:] = listFromLine[0:3]\n",
    "        #最后一列元素存储到向量中，元素值必须为整型，否则python会将这些元素当作字符串处理\n",
    "        if(listFromLine[-1].isdigit()):\n",
    "            classLabelVector.append(int(listFromLine[-1]))\n",
    "        else:\n",
    "            classLabelVector.append(love_dictionary.get(listFromLine[-1]))\n",
    "        index+=1\n",
    "    return returnMat,classLabelVector"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[4.0920000e+04, 8.3269760e+00, 9.5395200e-01],\n",
       "       [1.4488000e+04, 7.1534690e+00, 1.6739040e+00],\n",
       "       [2.6052000e+04, 1.4418710e+00, 8.0512400e-01],\n",
       "       ...,\n",
       "       [2.6575000e+04, 1.0650102e+01, 8.6662700e-01],\n",
       "       [4.8111000e+04, 9.1345280e+00, 7.2804500e-01],\n",
       "       [4.3757000e+04, 7.8826010e+00, 1.3324460e+00]])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "datingDataMat,datinglabels=file2matrix('datingTestSet.txt')\n",
    "datingDataMat"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[3, 2, 1, 1, 1, 1, 3, 3, 1, 3, 1, 1, 2, 1, 1, 1, 1, 1, 2, 3]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "datinglabels[:20]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.      , 0.      , 0.001156])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "datingDataMat.min(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#自己创建的画图函数\n",
    "def zly_plot(datingDataMat,datinglabels):\n",
    "    import matplotlib\n",
    "    import matplotlib.pyplot as plt\n",
    "    fig=plt.figure()\n",
    "    ax=fig.add_subplot(111)\n",
    "    ax.scatter(datingDataMat[:,1],datingDataMat[:,2],15.0*array(datinglabels),15.0*array(datinglabels))\n",
    "    plt.show()\n",
    "zly_plot(datingDataMat,datinglabels)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "#归一化\n",
    "def autoNorm(dataSet):\n",
    "    #min(0)每列的最小值 \n",
    "    minVals = dataSet.min(0)\n",
    "    maxVals = dataSet.max(0)\n",
    "    ranges = maxVals - minVals\n",
    "    #此时 minVals maxVals为1*3矩阵\n",
    "    #normDataSet为1000*3的0矩阵\n",
    "    normDataSet = zeros(shape(dataSet))\n",
    "\n",
    "    #取出训练集的行数m\n",
    "    m = dataSet.shape[0]\n",
    "    normDataSet = dataSet - tile(minVals,(m,1))\n",
    "    #特征值相除   在numpy中矩阵除法：linalg.solve(matA,matB)\n",
    "    normDataSet = normDataSet/tile(ranges,(m,1))\n",
    "    #normDataSet：1000*3的百分比矩阵\n",
    "    #ranges：表示最大和最小的差值，1*3\n",
    "    #minVals：最小的值 1*3\n",
    "    return normDataSet,ranges,minVals\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([[0.44832535, 0.39805139, 0.56233353],\n",
       "        [0.15873259, 0.34195467, 0.98724416],\n",
       "        [0.28542943, 0.06892523, 0.47449629],\n",
       "        ...,\n",
       "        [0.29115949, 0.50910294, 0.51079493],\n",
       "        [0.52711097, 0.43665451, 0.4290048 ],\n",
       "        [0.47940793, 0.3768091 , 0.78571804]]),\n",
       " array([9.1273000e+04, 2.0919349e+01, 1.6943610e+00]),\n",
       " array([0.      , 0.      , 0.001156]))"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "autoNorm(datingDataMat)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "def datingClassTest():\n",
    "    hoRatio = 0.01\n",
    "    #读取数据\n",
    "    datingDataMat,datingLabels = file2matrix('datingTestSet2.txt')\n",
    "    #归一化\n",
    "    norMat, ranges, minVals = autoNorm(datingDataMat)\n",
    "    #m=1000，表示1000条数据\n",
    "    m = norMat.shape[0]\n",
    "    print(m)\n",
    "    #选择1000*0.1个测试数据\n",
    "    numTestVecs = int(m*hoRatio)\n",
    "    errorCount = 0.0\n",
    "    import random\n",
    "    for j in range(numTestVecs):\n",
    "        #得到分类器的值classify0\n",
    "        i=random.randint(0,999)\n",
    "        classifierResult = classify0(norMat[i,:],norMat[numTestVecs:m,:],datingLabels[numTestVecs:m],3)\n",
    "        print(\"分类器的分类结果:%d,真实的类别是:%d\"%(classifierResult,datingLabels[i]))\n",
    "        if classifierResult != datingLabels[i]:\n",
    "            errorCount += 1.0\n",
    "    print (\"错误率是%f\"%(errorCount/float(numTestVecs)))\n",
    "    print(errorCount)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1000\n",
      "[[-0.20438684 -0.08975093 -0.20239607]\n",
      " [-0.34717825 -0.31262502 -0.69672284]\n",
      " [ 0.28505692 -0.14481655 -0.14145333]\n",
      " ...\n",
      " [ 0.05491219 -0.42086085 -0.22288166]\n",
      " [-0.1810393  -0.34841242 -0.14109154]\n",
      " [-0.13333625 -0.28856701 -0.49780478]]\n",
      "[[0.04177398 0.00805523 0.04096417]\n",
      " [0.12053273 0.09773441 0.48542271]\n",
      " [0.08125745 0.02097183 0.02000904]\n",
      " ...\n",
      " [0.00301535 0.17712385 0.04967624]\n",
      " [0.03277523 0.12139121 0.01990682]\n",
      " [0.01777856 0.08327092 0.2478096 ]]\n",
      "distances: [0.30131939 0.83886224 0.34962598 0.26514197 0.82090522 0.22002129\n",
      " 0.62604849 0.73698254 0.48993056 0.63661275 0.34774354 0.22122465\n",
      " 0.21129754 0.29016872 0.7199151  0.51921433 0.75013943 0.41509226\n",
      " 0.28668139 0.41369602 0.53526971 0.53252359 0.62183973 0.44607662\n",
      " 0.47021383 0.67217275 0.4744003  0.28772023 0.62890621 0.52719518\n",
      " 0.34598834 0.26601492 0.36333494 0.41001574 0.49415669 0.22507458\n",
      " 0.18799417 0.30744361 0.3152943  0.50912128 0.71800537 0.7143829\n",
      " 0.81211961 0.28833103 0.11892483 0.38324458 0.75179475 0.45301441\n",
      " 0.59157242 0.31795234 0.34815289 0.26159422 0.73879996 0.5537604\n",
      " 0.62713153 0.54457587 0.54277894 0.31245848 0.55502627 0.58355869\n",
      " 0.6085814  0.76559903 0.20243108 0.25051217 0.41560283 0.40906179\n",
      " 0.88449802 0.33771815 0.30894837 0.39519313 0.49984181 0.33916182\n",
      " 0.75501948 0.72694861 0.40989313 0.58060929 0.39135908 0.37314214\n",
      " 0.65015067 0.37186829 0.47742378 0.64206066 0.8722622  0.42794325\n",
      " 0.75525205 0.77653561 0.41399285 0.37716201 0.33122259 0.27824499\n",
      " 0.49546518 0.5586112  0.33069813 0.49439177 0.46361007 0.35755759\n",
      " 0.52714969 0.8902769  0.77116649 0.36687823 0.62287074 0.30077429\n",
      " 0.26397103 0.4852124  0.49654191 0.40170422 0.57966208 0.21695136\n",
      " 0.51846934 0.34214675 0.49687805 0.78353674 0.38405828 0.32672278\n",
      " 0.39908522 0.65936782 0.57745296 0.46370568 0.48996312 0.55745524\n",
      " 0.34664253 0.24093714 0.51888566 0.75613271 0.56481681 0.60889777\n",
      " 0.63669743 0.52131411 0.43105894 0.54040183 0.07886062 0.28578007\n",
      " 0.20724206 0.53893078 0.50452918 0.65080969 0.62903864 0.28053639\n",
      " 0.33119793 0.40839904 0.38840259 0.20246238 0.74604803 0.59666833\n",
      " 0.27872911 0.43270015 0.25567707 0.33686131 0.29441835 0.56679941\n",
      " 0.49217514 0.31077182 0.83258747 0.48335004 0.51642206 0.36122109\n",
      " 0.60132749 0.36577015 0.62435028 0.21654177 0.56835337 0.22965676\n",
      " 0.53745275 0.77049148 0.73682535 0.73077258 0.44186756 0.45919056\n",
      " 0.5772896  0.12388249 0.38069997 0.56382342 0.42323238 0.5072905\n",
      " 0.47699226 0.60092519 0.76895507 0.20261247 0.65954738 0.70104764\n",
      " 0.5808248  0.34906249 0.39371732 0.41464238 0.67495003 0.30344275\n",
      " 0.23543471 0.37806005 0.49652645 0.24130189 0.57432377 0.50011359\n",
      " 0.47827339 0.36328776 0.59559979 0.56872552 0.50140374 0.85208722\n",
      " 0.28545817 0.25276401 0.23106952 0.4552131  0.42752356 0.22585461\n",
      " 0.55261583 0.7591138  0.56366521 0.76826461 0.66220958 0.15925015\n",
      " 0.54653445 0.51728495 0.29790006 0.51961588 0.21708872 0.69419228\n",
      " 0.43835714 0.88074656 0.47434311 0.26030456 0.1631374  0.56926925\n",
      " 0.76636895 0.56046658 0.11853953 0.29811728 0.6264611  0.53356792\n",
      " 0.35628434 0.34227835 0.95209061 0.71344015 0.41230388 0.44171215\n",
      " 0.39032528 0.74020386 0.69362131 0.44549054 0.44188459 0.20811236\n",
      " 0.29651339 0.8460662  0.61865105 0.34838902 0.74323021 0.2932385\n",
      " 0.61253697 0.33510656 0.54853289 0.30974156 0.43878216 0.69899876\n",
      " 0.21110579 0.47281079 0.44374451 0.76092585 0.40247201 0.5072801\n",
      " 0.57672989 0.37156344 0.439563   0.50450787 0.59740461 0.62082272\n",
      " 0.58695979 0.4136178  0.85123355 0.3914308  0.36619305 0.34854151\n",
      " 0.21311701 0.14226428 0.39557378 0.40833881 0.81948429 0.49672955\n",
      " 0.45201594 0.39739236 0.71069134 0.7350681  0.56741606 0.36670305\n",
      " 0.61343174 0.39948935 0.94402291 0.1308129  0.48100219 0.7786625\n",
      " 0.43466173 0.23200347 0.71061449 0.12189347 0.875536   0.4400559\n",
      " 0.4460762  0.12422967 0.50697607 0.64700639 0.31889784 0.27715342\n",
      " 0.53912623 0.19432435 0.85780455 0.25394669 0.68653345 0.04740712\n",
      " 0.38129886 0.57792841 0.48016481 0.12856291 0.39635973 0.33710585\n",
      " 0.36668779 0.7480827  0.74105376 0.7033423  0.81384886 0.42462545\n",
      " 0.23315666 0.77247056 0.23017601 0.48163831 0.44750962 0.49852026\n",
      " 0.47719603 0.22580803 0.57801955 0.31767607 0.34856668 0.62991321\n",
      " 0.34084276 0.65975408 0.63012618 0.46193198 0.45428881 0.22547941\n",
      " 0.16141413 0.60288977 0.26316953 0.29004706 0.42352761 0.4194016\n",
      " 0.67549515 0.50556702 0.34568342 0.8023182  0.52708806 0.42926026\n",
      " 0.79750693 0.46126729 1.12576939 0.2203795  0.33317365 0.28377175\n",
      " 0.34670638 0.20568754 0.4314343  0.47074069 0.55282993 0.64661208\n",
      " 0.31664405 0.66235435 0.62101336 0.63602352 0.69690077 0.64025503\n",
      " 0.48733415 0.35334764 0.30232204 0.24639412 0.64545275 0.32182089\n",
      " 0.54742435 0.39300381 0.55978247 0.37064749 0.507503   0.65857337\n",
      " 0.6743402  0.47803792 0.48241122 0.37058485 0.89770994 0.58955938\n",
      " 0.56343434 0.6999785  0.28339615 0.84659677 0.60224107 0.3443359\n",
      " 0.77538575 0.44472251 0.31967715 0.40568168 0.25753185 0.46374997\n",
      " 0.54543816 0.39852111 0.34561129 0.42940729 0.48254851 0.39059317\n",
      " 0.60442068 0.24220051 0.46730523 0.54298194 0.27535141 0.25798923\n",
      " 0.39823382 0.47318888 0.63825452 0.5810737  0.68110022 0.59749755\n",
      " 0.64321884 0.62300562 0.45007819 0.22644295 0.40808306 0.72260562\n",
      " 0.42059341 0.27132849 0.40517943 0.41516439 1.07070935 0.80890088\n",
      " 0.37491793 0.24017094 0.60386045 0.41401632 0.57419949 0.51993196\n",
      " 0.4073391  0.64409839 0.75361754 0.19138686 0.48478691 0.58019735\n",
      " 0.6001104  0.44250583 0.40406348 0.56443475 0.38083823 0.15952759\n",
      " 0.49001618 0.69896093 0.09314079 0.4110202  0.22404412 0.32497652\n",
      " 0.74073949 0.42199416 0.29578938 0.76290228 0.75493186 0.51497742\n",
      " 0.27530217 0.55642462 0.22418756 0.48119471 0.25967147 0.27011294\n",
      " 0.39507388 0.35245369 0.60273746 0.33389307 0.7763409  0.52848001\n",
      " 0.72070499 0.48054336 0.5399169  0.52669684 0.75323277 0.78958648\n",
      " 0.74814464 0.59059992 0.46746309 0.35778954 0.22692847 0.18808322\n",
      " 0.3932984  0.74175622 0.16091113 0.73075008 0.61622229 0.46799899\n",
      " 0.2903919  0.54510908 0.72928477 0.69969124 0.34093933 0.32208769\n",
      " 0.36339751 0.73835261 0.37427612 0.25336336 0.45940456 0.298748\n",
      " 0.73633779 0.49773953 0.52691469 0.42537367 0.39408406 0.46650619\n",
      " 0.73876459 0.66904889 0.48441151 0.52947433 0.5781156  0.63599723\n",
      " 0.68736219 0.6231071  0.43112091 0.51082791 0.66547474 0.65234252\n",
      " 0.20302193 0.29861138 0.70933155 0.33411368 0.34245734 0.27758802\n",
      " 0.24288145 0.17305504 0.60010169 0.71886045 0.57659033 0.54501434\n",
      " 0.42658586 0.40952801 0.76686232 0.46768134 0.87812529 0.49741298\n",
      " 0.20089548 0.56630128 0.82393553 0.36047199 0.33862648 0.60625687\n",
      " 0.32607246 0.52912161 0.5385075  0.51257981 0.82855578 0.23851985\n",
      " 0.35262957 0.66953661 0.58608235 0.70854962 0.59381939 0.75284262\n",
      " 0.59433611 0.64350119 0.43254176 0.60001023 0.52849095 0.57669596\n",
      " 0.58865655 0.78797553 0.59263966 0.33239567 0.73196058 0.59417237\n",
      " 0.41825639 0.22772901 0.38576696 0.40606645 0.6470245  0.76773321\n",
      " 0.14568086 0.17394295 0.48073115 0.27320451 0.49038755 0.46532649\n",
      " 0.70746263 0.38285599 0.53652961 0.16574073 0.3406276  0.31654182\n",
      " 0.84129909 0.78250065 0.2435186  0.37899985 0.83604567 0.60403325\n",
      " 0.51900198 0.66363378 0.65011464 0.14515608 0.64437533 0.27834885\n",
      " 0.31044514 0.32618646 0.54510646 0.52976405 0.74012467 0.21085474\n",
      " 1.018916   0.36793071 0.31831762 0.35127311 0.57080527 0.62304604\n",
      " 0.27196162 0.61904956 0.18079995 0.40040214 0.72269028 0.43153676\n",
      " 0.4890607  0.63970241 0.28678636 0.35855239 0.32851296 0.71252277\n",
      " 0.55789468 0.51809797 0.45034833 0.35600097 0.58328005 0.72679776\n",
      " 0.76382488 0.89957095 0.65730558 0.19565827 0.22843775 0.42803055\n",
      " 0.50495101 0.32614254 0.34660396 0.55449178 0.28543384 0.46484742\n",
      " 0.52945117 0.76658041 0.53372868 0.41633789 0.74228471 0.64617306\n",
      " 0.46067968 0.7752749  0.48432688 0.64494315 0.37699683 0.35210167\n",
      " 0.58160866 0.38275766 0.17084829 0.71020264 0.16022403 0.776688\n",
      " 0.63265923 0.69122198 0.52935978 0.71146785 0.09194782 0.48070289\n",
      " 0.47485535 0.27133077 0.43005629 0.58864602 0.69928183 0.53455249\n",
      " 0.63261631 0.61630544 0.11715205 0.33858602 0.50002328 0.54006492\n",
      " 0.32374558 0.73081246 0.81662169 0.50928943 0.4349411  0.35129941\n",
      " 0.52602348 0.69000432 0.74433725 0.45411526 0.45248729 0.34606454\n",
      " 0.69880804 0.74324101 0.72662827 0.2364294  0.48181697 0.34256885\n",
      " 0.41485225 0.48473069 0.22042796 0.67667054 0.62445762 0.38393877\n",
      " 0.46811263 0.46518331 0.39405146 0.20725514 0.52634629 0.36641868\n",
      " 0.32991042 0.60101613 0.41436765 0.44131458 0.58283188 0.43956471\n",
      " 0.76225618 0.42347216 0.63657768 0.36671137 1.09161582 0.33229195\n",
      " 0.71115755 0.66556176 0.51931583 0.63843051 0.44743462 0.98049638\n",
      " 0.68391172 0.44742251 0.6042369  0.47885851 0.29771455 0.29333886\n",
      " 0.60385847 0.64444669 0.26636567 0.17856906 0.53940837 0.50660526\n",
      " 0.30602075 0.61358973 0.34397969 0.73143175 0.54585883 0.33633699\n",
      " 0.64145665 0.5226583  0.24662478 0.1232115  0.49140022 0.54232288\n",
      " 0.49973143 0.72016941 0.4917019  0.23451701 0.53997253 0.28599013\n",
      " 0.55572981 0.53997383 0.59459799 0.60130378 0.38889778 0.28390549\n",
      " 0.3187888  0.34000536 0.4151006  0.66949038 0.80302114 0.61592904\n",
      " 0.55507022 0.52474916 0.19874179 0.17673276 0.57811295 0.49002952\n",
      " 0.4264313  0.42029119 0.44895791 0.71137703 0.35409218 0.5558383\n",
      " 0.87792155 0.39067035 0.32743929 0.40028035 0.68551472 0.67638559\n",
      " 0.41545131 0.20281069 0.51508532 0.69866862 0.51487117 0.69782687\n",
      " 0.60026434 0.66947563 0.55501524 0.25550967 0.26289166 0.36363575\n",
      " 0.75992269 0.53317937 0.50061524 0.3772494  0.85681246 0.12664337\n",
      " 0.27386986 0.23902725 0.53104673 0.67212241 0.52493042 0.77561706\n",
      " 0.6673448  0.84561262 0.58319068 0.80053994 1.0499921  0.53728178\n",
      " 0.55087026 0.48374958 0.76656942 0.20981699 0.54438187 0.46865677\n",
      " 0.75055899 0.70468853 0.68024068 0.48127005 0.42843851 0.35975628\n",
      " 0.47300833 0.84233963 0.61557856 0.37324144 0.5380626  0.89808402\n",
      " 0.14264655 0.42449697 0.49262621 0.24858088 0.56361485 0.34999215\n",
      " 0.51992473 0.2712683  0.61562374 0.36490604 0.28830375 0.41700203\n",
      " 0.19126609 0.70209059 0.40395716 0.71479813 0.51014962 0.48845705\n",
      " 0.23280384 0.33818778 0.48666648 0.7360081  0.58804038 0.52931595\n",
      " 0.47789231 0.82298155 0.30881416 0.38009203 0.75664388 0.63566883\n",
      " 0.37929518 0.79749343 0.37653531 0.55978268 0.52552835 0.71127699\n",
      " 0.23468647 0.84410213 0.71472264 0.30646756 0.33948195 0.32606215\n",
      " 0.16258101 0.4482353  0.39489482 0.53234905 0.48219099 0.43203307\n",
      " 0.60223458 0.77135705 0.45090972 0.36088908 0.52571322 0.70315025\n",
      " 0.58012403 0.46171609 0.31047029 0.80407795 0.55780969 0.44856176\n",
      " 0.44881168 0.75809393 0.18846849 0.56349674 0.68625898 0.35714052\n",
      " 0.25603498 0.86741961 0.87235313 0.6752317  0.83061758 0.24149552\n",
      " 0.44291115 0.46856238 0.55858996 0.14761711 0.44855338 0.4577433\n",
      " 0.73645904 0.49052451 0.40499432 0.65558854 0.5944211  0.71486358\n",
      " 0.64834299 0.25885335 0.6538635  0.2552009  0.48855506 0.58208984\n",
      " 0.34721235 0.52965431 0.49161546 0.26349378 0.24153363 0.39458411\n",
      " 0.4333654  0.19704999 0.5280879  0.65958094 0.39433166 0.53844355\n",
      " 0.34392932 0.65488067 0.29343202 0.88714634 0.80029367 0.27100072\n",
      " 0.28672283 0.81461254 0.35898636 0.         0.49804372 0.7418365\n",
      " 0.62951635 0.69939539 0.41684013 0.42005911 0.52278922 0.45198517\n",
      " 0.46469206 0.77355363 0.2052542  0.78825752 0.83259874 0.3213773\n",
      " 0.5728278  0.37462931 0.62876985 0.51706355 0.22780608 0.29240251\n",
      " 0.76391633 0.55026269 0.68557521 0.34989729 0.50104365 0.86391764\n",
      " 0.87595781 0.56781934 0.20439853 0.33830109 0.35589648 0.37692184\n",
      " 0.34354422 0.33894049 0.4417758  0.59845142 0.35547883 0.59991395\n",
      " 0.34695664 0.35056153 0.38675833 0.24365815 0.19914195 0.49832836\n",
      " 0.15123739 0.25072519 0.57360004 0.4793907  0.41722088 0.59064293]\n",
      "sortedDistIndicies [939 305 130 658 446 668 224  44 291 741 169 295 797 309 285 271 828 591\n",
      " 570 903 984 209 443 652 482 336 870 220 579 650 523 571 765 729 608  36\n",
      " 479 890 840 435 301 627 925 764 982 534  62 141 177 781 516 968 950 355\n",
      " 132 699 239 813 599 252  12 270 159 107 214   5 351 692  11 448 458  35\n",
      " 335 325 203 417 478 565 958 628 161 320 200 289 846 318 747 864 186 687\n",
      " 545 799 427 121 189 899 922 403 522 584 981 369 740 831  63 985 199 495\n",
      " 303 915 789 146 894 394 407 913 460 219  51 790 338 921 102   3  31 728\n",
      " 461 935 835 421 661 606 573 798 456 406 299 521  89 593 144 137 386 353\n",
      " 755 634 198 131 749  18 936 614  27 838  43 339  13 486 959 245 725 932\n",
      " 148 452 240 724 212 225 517 497 101   0 368 185 732 867  37 854  68 249\n",
      " 594 884 151  57  38 581 360 327  49 602 756 298 392 953 371 491 672 449\n",
      " 869 540 631 595 113 776 616 702  92 138  88 713 561 352 465 519 247 737\n",
      " 147 311  67 847 969 669 538 973  71 868 757 580 330 490 109 229 520 689\n",
      " 972 930 734 389 398 344  30 683 632 120 354 978 918  10  50 243 269 328\n",
      " 181   2 963 833 979 603 677 647 463 546 367 772 976 970 621 228 893  95\n",
      " 477 615 938 821 537 879 155 193  32 492 791 837 157 268 701 312 281 711\n",
      "  99 601 381 375 259  79  77 825 494 955 426 860 971 646  87 795 187 585\n",
      " 858 855 170 442 306 649 577  45 695 112 566 980 140 754 234 401 775  76\n",
      " 267 373 480 182 698 502 928 923 872 462  69 272 310 277 408 397 114 283\n",
      " 777 609 105 256 842 440 908 422 393 567 432 418 273 139  65 529  74  33\n",
      " 447 232 265  19  86 429 704 183 690  17 758 423 780  64 639 944 839 988\n",
      " 564 341 945 769 420 451 172 709 340 829 317 501 768 528 202  83 629 820\n",
      " 347 399 662 128 512 356 611 875 554 145 924 288 676 216 250 260 707 293\n",
      " 705 233 974 166 238 439 900 254 391 237 294  23 721 718 322 871 904 887\n",
      " 888 770 416 620 878 947 276 682  47 681 334 201 905 167 496 642 349 883\n",
      " 333  94 117 395 948 635 697 575 503 404 476 531 485 696 901 815  24 357\n",
      " 253 822 409 218  26 660 174 324  80 852 379 192 723 987 308 469 659 572\n",
      " 286 459 819 321 688 874 380 400 153 811 644 506 691 436 103 848 366 845\n",
      " 916 612   8 118 444 767 574 907 742 920 746 150 830  34  93  90 188 104\n",
      " 275 110 533 499 940 983 323 744  70 670 191 794 964 196 261 134 630 343\n",
      " 731 296 257 173 376  39 675 844 513 543 784 455 782 154 957 211 619 108\n",
      " 122 588  15 716 213 834 431 127 739 946 763 802 862 880 678 700 471 500\n",
      " 346  96  29 926 467 556 541 851 656 636 507 919 597 800 873  21 793 227\n",
      " 638 665  20 578 809 162 826 929 542 133 300 730 470 748 751 671 129 743\n",
      "  56 405 814  55 527 596 487 396 736 210 372 248 961 810 204 358  53 633\n",
      " 788  58 762 750 773 457 119 886 618 902  91 374 861 223 384 891 832 206\n",
      " 171 441 124 535 149 280 967 160 195 221 604 954 986 430 190 526 557 258\n",
      " 168 116 307 326 766 508 106 882 437  75 180 411 648 917 706 806 622  59\n",
      " 548 264 850 663 558 383 475 989  48 560 550 563 552 910 752 194 143 262\n",
      " 413 975 977 555 524 438 786 175 703 753 156 876 388 464 337 726 428 587\n",
      " 722 402 539  60 125 246 282 733 824 836 761 484 667 242 607 263 362  22\n",
      " 100 415 605 511 158 694   6 226  54 956  28 136 942 329 332 666 654 857\n",
      " 509 363 710   9 126 410 717 613 365 738  81 414 553 433 592 727 645 370\n",
      " 641 359 297 568 912 590  78 135 515 914 931 909 626 377 115 178 927 331\n",
      " 208 361 589 514 715 804 505 787 759 547 801  25 378 184 897 342 779 693\n",
      " 818 412 720 778 962 892 304 510 679 655 236 215 364 785 783 684 445 251\n",
      " 664 943 489 385 179 841 881 315 817 576 549 518 651 290 278 714 863 771\n",
      " 657 617 231  41 866 843 911  40 525  14 745 468 419 610 686 623  73 488\n",
      " 483 165 673 735 562 279 849 498 906 164   7 493 504  52 598 235 450 314\n",
      " 481 941 640 244 685 680 142 313 474  16 816  46 551 472 434 454  72  84\n",
      " 123 856 889 205 792 255 708 453 624 960  61 222 812 637 530 569 207 176\n",
      " 163  98 877 319 949 643 390 803 466  85 653 287 583 111 559 951 473 859\n",
      " 348 934 807 345 760 885 425  42 316 937 674 274   4 853 536 544 898 152\n",
      " 952 586   1 582 823 865 805 241 387 266 197 796 302 965 895  82 896 292\n",
      " 966 774 532 217  66 933  97 382 827 625 284 230 719 600 808 424 712 350]\n",
      "{1: 3}\n",
      "分类器的分类结果:1,真实的类别是:1\n",
      "[[-0.23747439  0.29853462 -0.05942358]\n",
      " [-0.3802658   0.07566053 -0.55375035]\n",
      " [ 0.25196937  0.243469    0.00151916]\n",
      " ...\n",
      " [ 0.02182464 -0.0325753  -0.07990918]\n",
      " [-0.21412685  0.03987313  0.00188095]\n",
      " [-0.16642381  0.09971854 -0.35483229]]\n",
      "[[5.63940859e-02 8.91229221e-02 3.53116211e-03]\n",
      " [1.44602076e-01 5.72451556e-03 3.06639452e-01]\n",
      " [6.34885617e-02 5.92771544e-02 2.30783732e-06]\n",
      " ...\n",
      " [4.76314736e-04 1.06114995e-03 6.38547722e-03]\n",
      " [4.58503080e-02 1.58986679e-03 3.53795442e-06]\n",
      " [2.76968830e-02 9.94378779e-03 1.25905957e-01]]\n",
      "distances: [0.38606757 0.67599264 0.35038268 0.35848759 0.63761927 0.52735188\n",
      " 0.49360959 0.56693392 0.58382933 0.33959926 0.39477976 0.35347009\n",
      " 0.2389671  0.35939047 0.66626164 0.15683195 0.76666738 0.\n",
      " 0.47841394 0.54662    0.15520351 0.61887306 0.39349616 0.54888296\n",
      " 0.19780651 0.50758036 0.53659035 0.4540574  0.26262496 0.13929546\n",
      " 0.39508861 0.59942526 0.31800486 0.29092007 0.32287248 0.32327074\n",
      " 0.51354594 0.34732109 0.30300514 0.4545158  0.577202   0.47543989\n",
      " 0.56876797 0.47697227 0.45793204 0.51582716 0.67306071 0.29395392\n",
      " 0.50172834 0.58315313 0.39777587 0.34543809 0.69134132 0.29121256\n",
      " 0.48627142 0.36603221 0.21904471 0.38138203 0.26771542 0.41140702\n",
      " 0.59610596 0.47558088 0.50095933 0.39820173 0.3010851  0.38656389\n",
      " 0.6298934  0.57310281 0.25743236 0.1048786  0.40446709 0.42652133\n",
      " 0.46216316 0.62936603 0.09736355 0.49624203 0.36685491 0.48534952\n",
      " 0.4662796  0.54926738 0.45262368 0.41487307 0.63104607 0.27241172\n",
      " 0.62261967 0.56398385 0.09597448 0.4617263  0.41215481 0.28487746\n",
      " 0.34979747 0.40484953 0.45691705 0.22972732 0.14530212 0.39772201\n",
      " 0.30762305 0.58671911 0.56460248 0.54130265 0.3624539  0.37303607\n",
      " 0.32104522 0.08811189 0.52411024 0.32025435 0.45118548 0.41504976\n",
      " 0.35068339 0.199196   0.5574283  0.52381401 0.57928398 0.4827699\n",
      " 0.62464484 0.6353784  0.21061459 0.24753175 0.37627179 0.49303041\n",
      " 0.11747677 0.52508036 0.42033908 0.53060083 0.58821124 0.24898303\n",
      " 0.35279252 0.30814462 0.53682195 0.18770146 0.35383927 0.41355421\n",
      " 0.23864028 0.37810525 0.4433366  0.32381604 0.31163497 0.45121888\n",
      " 0.63240014 0.18170772 0.40425392 0.53966369 0.38034913 0.31477288\n",
      " 0.14002935 0.43061457 0.58082637 0.44241139 0.55194703 0.56960865\n",
      " 0.33118622 0.3621536  0.55664556 0.24609821 0.52532856 0.33616282\n",
      " 0.54697333 0.16385621 0.68233308 0.35350402 0.43735573 0.47994658\n",
      " 0.2152748  0.6957474  0.55895363 0.60352708 0.08046879 0.52295751\n",
      " 0.33725562 0.512947   0.09390285 0.61533074 0.28940575 0.25202554\n",
      " 0.54104312 0.46588871 0.57200775 0.40358273 0.33261926 0.4931393\n",
      " 0.56849335 0.23931208 0.08119115 0.4325229  0.45146023 0.46669071\n",
      " 0.57186511 0.65761722 0.31756536 0.50361819 0.44665632 0.50369184\n",
      " 0.57725992 0.5586705  0.33899481 0.53958726 0.15333632 0.56520982\n",
      " 0.3359937  0.53427127 0.4250439  0.58569824 0.49761433 0.34468264\n",
      " 0.29825521 0.4355551  0.43054919 0.58681111 0.65517043 0.42922059\n",
      " 0.48169193 0.56820369 0.53072732 0.41394337 0.40353474 0.49417954\n",
      " 0.32173194 0.67213882 0.45199675 0.40971111 0.49430799 0.30844509\n",
      " 0.50265608 0.31266675 0.35036576 0.55062221 0.54690998 0.40408065\n",
      " 0.51306323 0.43846263 0.68792715 0.36597856 0.53432196 0.11781615\n",
      " 0.16781734 0.53991137 0.638139   0.36216697 0.09368941 0.39108494\n",
      " 0.57400273 0.61081929 0.48123216 0.37519999 0.44962761 0.53198353\n",
      " 0.66455792 0.28050337 0.55585026 0.57187586 0.48707736 0.49541997\n",
      " 0.55971441 0.25985314 0.1723116  0.70346073 0.37824039 0.52958475\n",
      " 0.5339905  0.40909509 0.56083525 0.27787403 0.57906038 0.43913906\n",
      " 0.49183097 0.20001058 0.72314345 0.57295213 0.51345828 0.56688559\n",
      " 0.20449464 0.41734493 0.4898307  0.34588856 0.52542602 0.2042554\n",
      " 0.09933485 0.28437131 0.42987792 0.61428862 0.56914446 0.65676795\n",
      " 0.32998687 0.42762832 0.750026   0.3659656  0.14057175 0.5588153\n",
      " 0.18678102 0.28094381 0.61029309 0.34206998 0.56071763 0.4047848\n",
      " 0.11459771 0.30877827 0.39967486 0.59528409 0.28071055 0.51330192\n",
      " 0.20360574 0.27060519 0.5337659  0.40213941 0.65342465 0.43722432\n",
      " 0.2452973  0.38053119 0.27898676 0.31928197 0.0539338  0.51112174\n",
      " 0.18363847 0.6559161  0.60254929 0.55359473 0.5328921  0.26700591\n",
      " 0.49621092 0.55801112 0.3902185  0.54320278 0.39606332 0.55009385\n",
      " 0.13509209 0.51498779 0.54962509 0.63450601 0.46230803 0.60569563\n",
      " 0.31677698 0.66921144 0.59497274 0.2397316  0.44373794 0.50793406\n",
      " 0.50815631 0.41359617 0.497952   0.512298   0.37170384 0.19706088\n",
      " 0.50414677 0.57227114 0.55919388 0.64370882 0.63469565 0.46398951\n",
      " 0.53653714 0.47446738 0.86523414 0.41541288 0.18348935 0.53646762\n",
      " 0.4349033  0.26363692 0.11358039 0.28044331 0.16840327 0.68784159\n",
      " 0.3580802  0.55504546 0.45625559 0.61573801 0.52093432 0.44117066\n",
      " 0.38121312 0.06992052 0.42479269 0.49107278 0.59386083 0.60330695\n",
      " 0.47652122 0.21864341 0.61492415 0.44675484 0.33045807 0.69865725\n",
      " 0.48164026 0.37328203 0.5338956  0.60448873 0.65203763 0.39249916\n",
      " 0.18745659 0.37395276 0.46662062 0.62139285 0.65427861 0.34099807\n",
      " 0.58824523 0.08414506 0.26795294 0.41953096 0.34146431 0.54732852\n",
      " 0.18788474 0.65242376 0.42126228 0.38073322 0.5273469  0.45653354\n",
      " 0.47876585 0.60472256 0.19814145 0.55624617 0.47383432 0.32781209\n",
      " 0.17084029 0.43025633 0.53258409 0.64118783 0.44178357 0.41165843\n",
      " 0.46709207 0.57517401 0.62875268 0.31978796 0.42486072 0.53176907\n",
      " 0.46671689 0.42014508 0.47291798 0.1435366  0.80821393 0.54423722\n",
      " 0.50144155 0.22293761 0.5838562  0.17203158 0.51767595 0.24602416\n",
      " 0.19810786 0.65358563 0.51969075 0.49621821 0.19416322 0.58272251\n",
      " 0.22250842 0.14834207 0.45652987 0.60474554 0.45357876 0.39587463\n",
      " 0.46374195 0.69449709 0.3463936  0.44435895 0.55495954 0.19338202\n",
      " 0.4724472  0.219806   0.51845245 0.64684851 0.47520601 0.41274994\n",
      " 0.43900761 0.33867544 0.304309   0.57637399 0.19677099 0.18685669\n",
      " 0.23455859 0.27327282 0.26479398 0.22508963 0.54684437 0.52093943\n",
      " 0.45219368 0.2940077  0.43994549 0.46157076 0.69294804 0.67519793\n",
      " 0.51961909 0.22971834 0.21169656 0.45650411 0.38215138 0.43735248\n",
      " 0.50046885 0.63797404 0.49913713 0.40660149 0.41943623 0.39884579\n",
      " 0.43019761 0.49516015 0.54716994 0.56806203 0.10893477 0.27130893\n",
      " 0.42770219 0.70671769 0.41697362 0.55590584 0.39505664 0.53887656\n",
      " 0.60319746 0.32161158 0.59588814 0.34550278 0.34363645 0.17859265\n",
      " 0.61817509 0.5847015  0.5146913  0.61859599 0.16675902 0.66446391\n",
      " 0.47353579 0.37256001 0.44893472 0.43988271 0.62792987 0.56149285\n",
      " 0.50884222 0.54269298 0.5505546  0.34655689 0.6013231  0.57926496\n",
      " 0.53513172 0.45074556 0.27172417 0.74061193 0.55949589 0.44050166\n",
      " 0.19771536 0.50480852 0.77959675 0.5784342  0.58065997 0.50383427\n",
      " 0.43114828 0.45950778 0.73035813 0.11257686 0.42560985 0.21595884\n",
      " 0.24314652 0.1269594  0.47224022 0.14658173 0.52580751 0.55546893\n",
      " 0.5263197  0.56183888 0.26915992 0.71873103 0.64577091 0.52432781\n",
      " 0.21376949 0.41008954 0.54947194 0.48664333 0.22418096 0.4979631\n",
      " 0.50105452 0.51846777 0.2335214  0.48143856 0.67218693 0.59467834\n",
      " 0.18823989 0.40973391 0.42506867 0.20824322 0.59224531 0.47003983\n",
      " 0.43123238 0.50393214 0.33662777 0.20763583 0.16893835 0.08196501\n",
      " 0.58173882 0.67092448 0.1484646  0.37771072 0.2957858  0.43041722\n",
      " 0.60225009 0.62940571 0.46761552 0.4135077  0.73307509 0.52205751\n",
      " 0.47706508 0.53816969 0.61238916 0.41278427 0.25547279 0.57712837\n",
      " 0.52238346 0.45849096 0.36454924 0.61958779 0.48335588 0.29007274\n",
      " 0.77464504 0.26732831 0.55743612 0.61371541 0.27238786 0.64482752\n",
      " 0.45135129 0.48469434 0.52251795 0.28807997 0.4262548  0.43741709\n",
      " 0.28422839 0.48662424 0.40926538 0.43841959 0.10096535 0.47179461\n",
      " 0.5791953  0.27454735 0.47469011 0.16267374 0.60647123 0.68316976\n",
      " 0.57092554 0.64856686 0.54596255 0.28713705 0.36151449 0.36018425\n",
      " 0.42010445 0.5822586  0.31875617 0.62313049 0.5266267  0.45749704\n",
      " 0.3351919  0.652671   0.28382102 0.18520679 0.57444774 0.54989874\n",
      " 0.47654989 0.52071916 0.43741634 0.62345483 0.28603688 0.52311398\n",
      " 0.46069594 0.13942923 0.40682338 0.73431857 0.29357998 0.59380183\n",
      " 0.52075036 0.61102249 0.38804338 0.56522975 0.4453516  0.40069005\n",
      " 0.53352169 0.47953276 0.32309332 0.63650391 0.41488107 0.45877868\n",
      " 0.39953121 0.31550346 0.4028474  0.57136012 0.17401393 0.39635796\n",
      " 0.63331575 0.49329888 0.70092286 0.50454464 0.14426769 0.25157239\n",
      " 0.54158611 0.7041734  0.48169365 0.4987022  0.30948913 0.54131924\n",
      " 0.65264773 0.4156226  0.59409958 0.36648179 0.23777658 0.5635489\n",
      " 0.54399074 0.14404147 0.41080646 0.26450495 0.58415508 0.58036522\n",
      " 0.29624962 0.24744645 0.51512959 0.44332236 0.53118326 0.27056927\n",
      " 0.52670022 0.45925916 0.66408576 0.40088371 0.51153506 0.50228879\n",
      " 0.58208374 0.55058824 0.36427391 0.46486946 0.79002944 0.18180066\n",
      " 0.52225282 0.40913885 0.60684216 0.58361067 0.32333722 0.75707385\n",
      " 0.64358411 0.27085964 0.36252457 0.46448579 0.52103095 0.52036617\n",
      " 0.61214763 0.49979783 0.19399158 0.52915179 0.37479091 0.27169596\n",
      " 0.39870797 0.59889752 0.30719631 0.54577732 0.42519289 0.36630421\n",
      " 0.47473536 0.31661047 0.50734727 0.43110726 0.27572846 0.16905629\n",
      " 0.55815592 0.64453497 0.22958927 0.41130949 0.55095096 0.18886848\n",
      " 0.40169646 0.23478617 0.53984223 0.57186344 0.2856301  0.56285125\n",
      " 0.1551488  0.51106096 0.08839799 0.39230107 0.67115402 0.43873448\n",
      " 0.58873999 0.43035962 0.44210264 0.43069923 0.3599596  0.4402379\n",
      " 0.4285865  0.41672235 0.5228902  0.51910666 0.44975148 0.58442854\n",
      " 0.54567596 0.34739345 0.50534926 0.62946591 0.53961083 0.69837803\n",
      " 0.5522538  0.41512443 0.58718552 0.42638777 0.5188002  0.52143456\n",
      " 0.58273989 0.45190304 0.45599732 0.49587437 0.47034548 0.37628728\n",
      " 0.50519557 0.55314884 0.36254591 0.22583709 0.5705073  0.4771333\n",
      " 0.34305407 0.50814081 0.2460633  0.60119748 0.26874106 0.55760709\n",
      " 0.35496256 0.71144101 0.47211175 0.45361767 0.80431786 0.20208999\n",
      " 0.54516329 0.26354541 0.66728928 0.38111063 0.30401503 0.35274788\n",
      " 0.54389504 0.57335472 0.5500568  0.27451789 0.07704934 0.13418712\n",
      " 0.30962749 0.60977238 0.2935428  0.56996513 0.51031688 0.67080092\n",
      " 0.46971435 0.20242171 0.18252315 0.33856109 0.43543865 0.65250222\n",
      " 0.48574021 0.36541788 0.46896738 0.444669   0.46798986 0.18152563\n",
      " 0.5221425  0.49218586 0.49412164 0.64495216 0.34201104 0.45677056\n",
      " 0.43574706 0.53331139 0.58779686 0.58559399 0.40629459 0.50126339\n",
      " 0.3677231  0.61811646 0.39710019 0.16456249 0.46550299 0.5720334\n",
      " 0.43519079 0.66531121 0.49025803 0.26179144 0.41621182 0.55577967\n",
      " 0.48680848 0.59009641 0.47946506 0.4727249  0.62318275 0.59880074\n",
      " 0.4384436  0.41578455 0.12262112 0.16360672 0.09311594 0.2818705\n",
      " 0.57269566 0.66020209 0.04004428 0.53093743 0.53747016 0.50082504\n",
      " 0.62482799 0.47887436 0.35657553 0.55266241 0.62549588 0.45078049\n",
      " 0.43184011 0.3846728  0.40316002 0.52843484 0.644852   0.61052421\n",
      " 0.3808871  0.60334143 0.67382074 0.6296943  0.49276588 0.39690135\n",
      " 0.61578617 0.65766    0.42063259 0.31121168 0.2320965  0.20331155\n",
      " 0.44501449 0.27610026 0.39909259 0.38423389 0.43715492 0.4675965\n",
      " 0.35199552 0.48551075 0.38847468 0.45411927 0.08550694 0.2512354\n",
      " 0.48914337 0.55812874 0.46693295 0.39114287 0.39290195 0.38361561\n",
      " 0.25394484 0.47140989 0.55698178 0.56431618 0.31348133 0.2121567\n",
      " 0.42785927 0.48584203 0.50732222 0.70329993 0.53050286 0.39724171\n",
      " 0.50093196 0.64736524 0.45609747 0.41509226 0.20200209 0.53843956\n",
      " 0.637873   0.72603109 0.07909946 0.55677709 0.605866   0.542738\n",
      " 0.40240047 0.65146771 0.51005578 0.54699676 0.67986245 0.4893075\n",
      " 0.62463    0.5468578  0.44484411 0.26468784 0.4512645  0.14670719\n",
      " 0.48734785 0.40323873 0.4325418  0.53279672 0.39842813 0.51313363\n",
      " 0.61744426 0.2844947  0.4052949  0.63344102 0.4996196  0.65381458\n",
      " 0.41553004 0.27853427 0.5796403  0.65283955 0.41477625 0.59740838\n",
      " 0.54791687 0.22635635 0.36215499 0.44032478 0.38790543 0.36067237\n",
      " 0.43260828 0.37168801 0.44279008 0.08901091 0.21781578 0.40440899]\n",
      "sortedDistIndicies [ 17 878 310 367 820 944 166 182 575 391 916 103 758 987 874 238 170  86\n",
      "  74 276 616  69 490 537 356 294 120 233 872 541 821 324  29 649 144 286\n",
      " 423 691 676  94 543 959 439 578 196 756  20  15 621 873 157 855 508 234\n",
      " 358 574 743 408 429 254 670 503 839 139 713 830 352 312 639 288 461 384\n",
      " 129 396 564 749 449 728 436 460 341 528  24 432 404 109 265 940 809 829\n",
      " 905 300 275 270 573 567 116 476 929 552 162 539 988 373  56 451 438 427\n",
      " 556 465 795 979 746 475  93 904 560 462 751 688 132  12 181 333 540 306\n",
      " 431 800 153 697 117 125 917 677 173 924 592  68 253 861  28 811 355 693\n",
      " 957 464 317 601  58 392 802 548 701 301 721 491 731 524 604  83 463 819\n",
      " 619 742 907 261 973 308 357 247 298 289 875 638 612 277 967  89 754 646\n",
      " 627 609 172 599  33  53 824 652  47 469 580 696 204  64  38 814 458 734\n",
      "  96 127 221 295 682 822 903 136 223 928 143 667 739 330 188  32 632 309\n",
      " 417 105 102 499 216  34 662  35 718 135 407 282 376 150 178 636 198 155\n",
      " 572 168 831 457 194   9 389 394 844 291 798 502 203  51 501 273 446 519\n",
      "  37 775  90 224   2 108 912 815 126  11 159 130 804 884 360   3  13 766\n",
      " 629 983 628 151 980 237 100 722 794 710 596 835 285 231  55 737 687  76\n",
      " 852 985 340 511 101 379 385 730 243 118 791 579 133 256 142 307 399 894\n",
      " 813 366  57 478 923 909 889   0  65 982 656 914 320 239 921 759 383 922\n",
      "  22  10 496  30 443 322 671 899 854 935  95  50  63 964 732 485 908 666\n",
      " 296 659 705 750 303 948 668 890 961 214 177 227 140 989  70 293  91 968\n",
      " 850 483 650 259 715 614 219 565 553 692 747  59 413  88 455 591 585 131\n",
      " 337 213 976  81 664 107 939 781 351 972 685 871 862 769 494 271 484 393\n",
      " 630 421 122 902 398 368 418 200 566 736 538 610 783  71 283 492 930 768\n",
      " 209 278 486 409 763 581 206 145 765 741 534 570 888 183 962 984 354 858\n",
      " 832 205 846 910 305 479 160 644 611 615 870 229 761 456 263 513 470 767\n",
      " 981 527 365 412 764 147 986 699 134 334 447 837 956 906 658 190 375 512\n",
      " 244 772 523 887 106 137 958 606 184 787 218 468  80 442 807  27 915  39\n",
      " 788 938 362 477 440 401 845  92 635  44 595 665 703 535 648 471  87  72\n",
      " 328 444 347 723 711 856 175  78 386 185 420 920 414 911 584 838 836 828\n",
      " 569 790 925 617 806 542 450 867 422 510 406 349 620 738 454  41  61 372\n",
      " 642  43 588 797  18 402 883 866 661 161 242 561 378 210 680 113 598 607\n",
      "  77 913 834 931  54 613 555 864 250 960 918 953 272 860 369 264 841 898\n",
      " 119 179 673   6 842 215 220 487 251 789 318 435  75 202 338 557 681 482\n",
      " 970 727 480 881 936  62 558 851 426  48 707 222 189 191 533 571 342 675\n",
      " 529 792 776 932 740  25 335 799 336 516 950 826 757 311 706 339 169 228\n",
      " 965 299 268  36 506 325 698  45 430 452 559 784 771 474 434 725 643 654\n",
      " 364 467 724 785 587 840 714 594 608 770 167 647 111 104 551 121 154 274\n",
      " 544 546 634 702 400   5 891 729 257 934 123 212 879 700 419 245 410 963\n",
      " 316 847 660 302 380 258 199 232 522 353 348  26 128 880 589 941 497 195\n",
      " 778 141 752 235 174  99 683 678 517 947 321 816 690 425 810 774 735 626\n",
      "  19 466 955 226 156 951 488 395 978  23  79 554 326 641 818 323 518 709\n",
      " 225 748 148 780 885 793 315 448 361 545 863 248 495 405 152 945 926 110\n",
      " 602 803 319 919 744 193 287 164 344 526 252 292 260 515 547 755 689  85\n",
      " 927  98 197 657 269   7 489 211 180  42 280 149 825 796 624 669 753 186\n",
      " 249 176 857 343 876 267  67 817 240 640 415 459 593  40 192 531 262 618\n",
      " 521 112 974 695 532 146 576 708 631 437 786  49 717   8 428 694 773 505\n",
      " 849 201  97 207 782 848 124 390 762 865 568 653 370 686 563 332 297 500\n",
      "  60 977 869 733  31 801 520 582 314 498 371 895 165 381 403 441 329 946\n",
      " 622 716 823 290 893 241 655 726 590 603 279 374 171 363 900 966 853 504\n",
      " 507  21 597 387  84 633 868 645 954 114 882 886 514 416  73 583 777 897\n",
      "  66  82 138 672 969 327 346 115 663   4 942 481 236 411 720 345 745 605\n",
      " 892 843 550 453 937 625 949 382 397 833 684 637 975 304 433 971 388 208\n",
      " 313 281 187 901 877 704 509 246 859  14 812 331 827 577 760 217 562  46\n",
      " 896 473   1 952 158 623 359 230  52 472 445 163 779 377 674 933 255 679\n",
      " 493 805 549 266 943 536 586 651 525 284 719  16 600 530 712 808 424 350]\n",
      "{3: 3}\n",
      "分类器的分类结果:3,真实的类别是:3\n",
      "[[-0.15937901  0.31460348  0.43944059]\n",
      " [-0.30217041  0.09172938 -0.05488618]\n",
      " [ 0.33006475  0.25953786  0.50038333]\n",
      " ...\n",
      " [ 0.09992002 -0.01650644  0.41895499]\n",
      " [-0.13603147  0.05594199  0.50074512]\n",
      " [-0.08832842  0.1157874   0.14403188]]\n",
      "[[0.02540167 0.09897535 0.19310803]\n",
      " [0.09130696 0.00841428 0.00301249]\n",
      " [0.10894274 0.0673599  0.25038348]\n",
      " ...\n",
      " [0.00998401 0.00027246 0.17552329]\n",
      " [0.01850456 0.00312951 0.25074567]\n",
      " [0.00780191 0.01340672 0.02074518]]\n",
      "distances: [0.56345812 0.32052103 0.65321215 0.64483035 0.89752133 0.91533297\n",
      " 0.36021307 0.88115519 0.572607   0.17903213 0.63639637 0.56104524\n",
      " 0.61999991 0.84238321 0.403585   0.55676307 0.59378364 0.50519557\n",
      " 0.76695292 0.54670567 0.4162798  0.51193145 0.27590214 0.91591176\n",
      " 0.54535194 0.4827819  0.73141104 0.77261941 0.6318619  0.53698822\n",
      " 0.48209466 0.9958576  0.81832431 0.79303798 0.78038604 0.544623\n",
      " 0.90606881 0.47511763 0.46287995 0.49882307 0.31479202 0.6410073\n",
      " 0.08227015 0.88559422 0.79708158 0.97797007 0.46246496 0.79389903\n",
      " 0.82074422 1.01190331 0.50282071 0.65744544 0.48339741 0.48434555\n",
      " 0.3562113  0.49781981 0.5620457  0.55852323 0.26191797 0.52251877\n",
      " 0.54137921 0.10848567 0.78526634 0.81898897 0.36752676 0.88942812\n",
      " 0.57106673 0.91827682 0.63449482 0.43218743 0.62222717 0.63373781\n",
      " 0.10090624 0.27735023 0.58722555 0.44395005 0.7735814  0.74572525\n",
      " 0.58075067 0.93352064 0.9304599  0.30814928 0.83916307 0.61659242\n",
      " 0.44424432 0.09309145 0.48284558 0.95041949 0.52563242 0.57006865\n",
      " 0.81239763 0.2222895  0.90637451 0.29785606 0.61165764 0.74668625\n",
      " 0.76141107 0.27261314 0.58625858 1.00140051 0.39984089 0.57899722\n",
      " 0.5432656  0.53969915 0.9014599  0.5276415  0.56572112 0.86717832\n",
      " 0.33850054 0.65032695 0.59486126 0.06346361 1.0258281  0.94366951\n",
      " 1.05469137 0.38663355 0.32597814 0.31082499 0.87966346 0.80888141\n",
      " 0.61593575 0.83000516 0.54061964 0.06950938 0.45399656 0.55497332\n",
      " 0.23217907 0.24004002 0.96152293 0.61920856 0.6856974  0.55147951\n",
      " 0.68261746 0.25822791 0.40079764 0.42047762 0.26137851 0.74893844\n",
      " 1.03341371 0.45500635 0.54020933 0.89272656 0.25225831 0.22295801\n",
      " 0.55620818 0.47323238 0.97996437 0.77382364 0.77337737 0.97220121\n",
      " 0.36803499 0.73078358 0.3429547  0.29139658 0.85799263 0.82891161\n",
      " 0.8320705  0.43531258 0.50003923 0.68645367 0.93490226 0.74059258\n",
      " 0.66420896 0.37629537 0.2291246  0.24588199 0.57252128 0.55947057\n",
      " 0.41737992 0.81346652 0.45928744 0.5273125  0.3655561  0.73837601\n",
      " 0.59854178 0.40649454 0.18811954 0.83445732 0.19827997 0.34638973\n",
      " 0.3768745  0.4432109  0.48008014 0.47559485 0.23385765 0.69319434\n",
      " 0.9515595  1.05813111 0.76137345 0.86019776 0.29010227 0.424739\n",
      " 0.57718338 1.0051477  0.31390762 0.36861304 0.3562048  0.13377345\n",
      " 0.78519453 0.95185975 0.61279524 0.87865944 0.51748241 0.74307961\n",
      " 0.56509618 0.21812964 0.89579212 0.17128234 0.49386218 0.82299545\n",
      " 0.73122549 0.84792237 0.96028838 0.85913753 0.6791101  0.72800506\n",
      " 0.8172324  0.30695892 0.92656217 0.85335002 0.78803983 0.46309989\n",
      " 0.49565133 0.78924765 0.76366868 0.8275575  0.4334157  0.53962624\n",
      " 0.96658059 0.90570505 0.51443735 0.21710277 0.7217192  0.60291201\n",
      " 0.53690333 0.20434181 0.94043872 0.42394817 0.53622456 0.59859709\n",
      " 0.87178262 0.73129719 0.77845969 0.53424525 0.16920548 0.80023001\n",
      " 0.58156997 0.77898633 0.9342885  0.95462505 0.45917951 0.70053031\n",
      " 0.88355533 0.75466028 0.63316284 0.51812537 0.41049934 0.42855121\n",
      " 0.33357921 0.61462604 0.62765217 0.70200026 0.41532018 0.63117323\n",
      " 0.77906948 0.57363294 0.38729666 0.68795902 0.6093418  0.963935\n",
      " 0.6227578  0.66985901 0.97342612 0.547155   0.11243325 0.45009486\n",
      " 0.58796005 0.76697083 0.09449069 0.24159149 0.43314981 1.06373216\n",
      " 0.20270181 0.46594446 0.4637597  0.65219233 0.36540918 0.51154589\n",
      " 0.56534947 0.63382168 0.42596189 0.65023804 0.16526453 0.53135954\n",
      " 0.42254954 0.68218366 0.41612429 0.33156878 0.55672668 0.75441355\n",
      " 0.65881836 0.6473     0.18945801 0.64884108 1.01498565 0.78431911\n",
      " 0.57095402 0.85794874 0.51919067 0.72784118 0.55845886 0.63628339\n",
      " 0.50564652 0.40760319 0.21318086 0.44632275 0.08180661 0.54564575\n",
      " 0.6680737  0.08614274 0.74695031 0.91753739 0.89314136 0.45804077\n",
      " 0.40505162 0.81169562 0.92280378 1.04369361 0.88844603 0.37918026\n",
      " 0.81315523 0.43754923 0.94569292 0.69284111 0.92657838 0.83964497\n",
      " 0.82966367 0.32814659 0.73278407 0.94231016 0.82781243 0.69402322\n",
      " 0.26528452 0.55006745 0.96069729 0.40803826 1.00644317 0.4334651\n",
      " 0.10877632 0.95790902 0.96475617 0.61994047 0.4414422  0.96965702\n",
      " 0.7706112  0.70520569 0.60227815 0.7736358  0.57748069 0.56999418\n",
      " 0.73688121 0.36756865 0.54426846 0.37746093 0.42932118 0.65055995\n",
      " 0.46968571 0.50467792 0.72509612 0.77979418 0.9529495  1.00676385\n",
      " 0.82727326 0.72379768 0.61391542 0.55760787 0.82077551 0.59803673\n",
      " 0.51044681 0.78656017 0.50621985 0.9767948  0.24884848 0.19538766\n",
      " 0.52353718 0.17179967 0.87859639 0.81242939 0.96954082 0.6312402\n",
      " 0.3905997  0.49036926 0.74311578 0.46485748 0.5387661  0.5973043\n",
      " 0.3345142  1.03857291 0.51872527 0.86367464 0.59480573 0.58625269\n",
      " 0.35201414 0.99254195 0.32750846 0.41738755 0.78719894 0.63329149\n",
      " 0.57137792 0.74196316 0.344037   0.55761847 0.11027447 0.46366603\n",
      " 0.16802815 0.48671517 0.70381953 0.71017291 0.56267226 0.4118975\n",
      " 0.57005471 0.78419364 0.9392665  0.40815796 0.56279785 0.43707643\n",
      " 0.53593603 0.60532953 0.86169689 0.3754258  0.80893567 0.2670098\n",
      " 0.66422055 0.45348218 0.60772004 0.71452836 0.33004296 0.51245712\n",
      " 0.5619795  0.40453155 0.62429962 0.58069777 0.47552575 0.65281509\n",
      " 0.60353241 0.50999861 0.67223427 0.61245621 0.91905599 0.64780146\n",
      " 0.10069431 0.64806857 0.81163555 0.46339163 0.11138042 0.88166417\n",
      " 0.84764123 0.20778157 0.56641116 0.58870988 0.57256176 0.64666107\n",
      " 0.57048184 0.66100886 0.41469471 0.69942722 0.39466254 0.99277381\n",
      " 0.10962251 0.46647457 0.72260806 0.72751098 0.45713158 0.54359048\n",
      " 0.13154186 0.62775427 0.35657904 0.92640913 0.77244974 0.85195125\n",
      " 0.51145037 0.41303432 0.88760428 0.24926156 0.57897333 0.37013965\n",
      " 0.80254375 0.72428011 0.28846738 0.33105331 0.60374462 0.68832017\n",
      " 0.57348743 0.50152386 0.86089891 0.90513402 0.87709896 0.97162099\n",
      " 0.94565595 0.7527412  0.56852735 0.80461479 0.70459105 0.66666698\n",
      " 0.41915039 0.28670272 0.43071488 0.65785293 0.43338422 0.48319319\n",
      " 0.09674427 0.29062178 0.91530129 0.58364364 0.42254129 0.71169428\n",
      " 0.83953878 0.82869111 0.75399335 0.57538036 0.9536855  1.00272198\n",
      " 0.85732713 0.74931191 0.24131286 0.5239628  0.39333068 0.93186832\n",
      " 0.4759968  0.96178131 0.59357874 0.63926565 0.15616184 0.39635127\n",
      " 0.86018941 0.42945762 0.49452512 0.45900734 0.78719348 0.40831323\n",
      " 0.5423869  0.42682489 0.44941312 0.36513942 0.17956086 0.91297411\n",
      " 0.68177689 0.75912387 0.25042027 0.46278334 0.62531901 0.71917936\n",
      " 0.59855927 0.76792531 0.53851009 0.78385092 0.4640604  0.71632174\n",
      " 0.28316827 0.12364593 0.2976035  0.91728206 0.4755202  0.84755987\n",
      " 0.44088173 0.82345182 0.48180796 0.71231674 0.35525283 0.08881238\n",
      " 0.83632198 0.91280621 0.81265867 0.50247972 0.3512587  0.43846444\n",
      " 0.3352104  1.08423592 0.54551806 0.72126814 0.7872632  0.89525523\n",
      " 0.78349614 0.35290758 0.73766964 0.90954336 0.43272241 0.82884958\n",
      " 0.33854118 0.73961654 0.46207141 0.8110313  0.50871657 0.95987476\n",
      " 0.9354405  0.54136305 0.8407028  0.99421029 0.07879055 0.56585465\n",
      " 0.45624929 0.74464866 0.8523563  0.97547581 0.23290646 0.51905221\n",
      " 0.71804615 0.63223617 0.85964018 0.46427125 0.09937097 0.53121356\n",
      " 0.75569331 0.27854662 0.84646103 0.78129432 0.57332909 0.06683118\n",
      " 0.43046352 0.38175771 0.55923703 0.64049673 0.52295024 0.37915052\n",
      " 0.34728346 0.34669727 0.76043323 0.57137754 0.76531327 0.84689099\n",
      " 0.3858414  1.006591   0.42323284 0.55181275 0.8451611  0.66388248\n",
      " 0.82186195 0.40723124 0.23774509 0.59932439 0.15750502 0.36141161\n",
      " 0.95368639 0.02767338 0.92844158 0.37727467 0.53534184 0.66609492\n",
      " 0.36429441 0.61462756 0.73663475 0.56004946 0.68772121 0.18657344\n",
      " 0.80890481 0.39251217 0.30403677 0.54913232 0.81152593 0.71002188\n",
      " 0.64776592 0.68569228 0.79567501 0.47157533 0.11697724 0.32608362\n",
      " 0.54132697 0.19192142 0.67486948 1.0172379  0.35071516 0.61466875\n",
      " 1.04475032 0.09131691 0.37995597 0.43419734 0.54169289 0.64669705\n",
      " 0.53800257 0.51001664 0.04867804 0.53025224 0.3290534  0.95056168\n",
      " 0.49159788 0.1577431  0.3750313  0.79437688 0.67770252 0.94709773\n",
      " 1.00552558 0.43990156 0.85896593 0.48568083 0.34329514 1.02472542\n",
      " 0.70734841 0.30784879 0.56314856 0.85106521 0.42426511 0.48555773\n",
      " 0.96090384 0.73291745 1.04098725 0.89238488 0.4960403  0.58902403\n",
      " 0.43009902 0.6164676  0.17212913 0.60567514 0.58923673 0.44300294\n",
      " 0.14424604 0.13801521 0.96059219 0.32336529 0.36622962 0.49411349\n",
      " 0.50014215 0.31340369 0.16325744 0.58897584 0.93476621 0.81292332\n",
      " 0.43096771 0.36805052 0.66602419 0.87696594 0.47596994 0.29114326\n",
      " 0.63577132 0.51340108 0.69704639 0.20057941 0.9182069  0.58607073\n",
      " 0.72866161 0.78358851 0.76800337 0.81953333 0.60139045 0.44277261\n",
      " 0.88916415 0.4146378  0.4245945  0.66639016 0.89854964 0.66087035\n",
      " 0.89342138 0.27277107 0.33120187 0.46860565 0.71060813 0.90735559\n",
      " 0.62983581 0.9609586  0.471048   0.13641884 0.34970732 0.46368986\n",
      " 0.43862207 0.67583872 0.74301283 0.80136267 0.8160392  0.33752059\n",
      " 0.64425911 0.46406118 0.47641758 0.11124153 0.65481585 0.91797017\n",
      " 0.20169967 0.85021758 0.93721655 1.03726246 0.32485017 0.46738706\n",
      " 0.65597485 0.75908594 0.93532975 0.13523517 0.44088372 0.13773398\n",
      " 0.51518186 0.13834008 0.93018204 0.94586462 0.66991664 0.68345773\n",
      " 0.         0.58645521 0.43588699 0.53678201 0.59585584 0.85275673\n",
      " 0.52247776 0.94477586 0.28794556 0.41048055 0.54447938 0.77620052\n",
      " 0.26462286 0.38852454 0.35970633 0.20020291 0.61856279 0.54063841\n",
      " 0.41409663 0.51278609 0.35950815 0.72569513 0.76137827 0.81776238\n",
      " 0.1371011  0.410088   0.69706465 0.76633278 0.53693515 0.61052385\n",
      " 0.8042004  0.79845994 0.22811237 0.8205609  0.47821941 0.91858839\n",
      " 0.87448816 0.68500999 0.39419391 0.73778713 0.27016626 1.06416805\n",
      " 0.86513596 0.70446853 0.65757417 0.85217087 0.58380529 0.63339082\n",
      " 0.8860915  0.47652127 0.95040209 0.43673551 0.41577312 0.76781086\n",
      " 0.80981922 0.7412952  0.62673497 0.24184344 0.36816164 0.88972785\n",
      " 0.39341325 0.81040238 0.85480295 0.40687078 0.12223543 0.37038839\n",
      " 0.92721155 0.33748815 0.55056953 0.24786667 0.88422519 0.34434955\n",
      " 0.73405525 0.24369256 0.33671326 0.92938483 1.00790386 1.00382718\n",
      " 0.69374885 0.90118466 0.60595887 0.35284432 0.52626577 0.78376795\n",
      " 0.40365907 1.01292059 0.47622965 0.68611505 0.52975497 0.33055047\n",
      " 0.98774011 0.5679902  0.82157071 0.15559027 0.55531789 0.92315083\n",
      " 0.92073492 0.28308369 0.75137349 0.47552332 0.3885734  0.96180629\n",
      " 0.76466723 0.53320174 0.34000512 0.44402272 0.32058884 0.83652456\n",
      " 0.9669766  1.02358482 0.74191997 0.62618054 0.70790515 0.3479015\n",
      " 0.12008123 0.6934943  0.88789994 0.12213861 0.63208422 0.06596379\n",
      " 0.1577564  0.91046326 0.12745077 0.73260964 0.47132848 0.57018328\n",
      " 0.69575931 0.52619818 0.37348871 0.86165477 0.68049262 0.78238783\n",
      " 0.52898936 0.69140161 0.96179013 0.46837342 0.38624109 0.29413354\n",
      " 0.54537744 0.51463579 0.71334915 0.51605274 0.53783195 0.75783754\n",
      " 0.9550794  0.88571214 0.57993977 0.75992269 0.53226524 0.43502497\n",
      " 0.43898497 0.55714727 0.44448011 0.6680019  0.5924801  0.94953226\n",
      " 0.89519164 0.41273452 0.84556542 0.04727673 1.02670207 0.86713242\n",
      " 0.59212448 0.7299357  0.23234388 0.28653593 0.70328536 0.54463819\n",
      " 0.24284172 0.5226954  0.31533183 0.86899061 0.36209602 0.25714564\n",
      " 0.51775603 0.73289057 0.79711356 1.03154095 0.59831719 1.07299288\n",
      " 0.7415457  0.68517644 1.03341573 0.55327828 0.7079562  0.53113191\n",
      " 0.96432634 0.49515511 0.86299486 0.81731461 0.81656205 0.81525779\n",
      " 0.80603367 0.70127823 0.64693968 0.43102176 0.52190012 0.2048263 ]\n",
      "sortedDistIndicies [792 643 951 680 111 911 617 123 598 316  42 319 569 673  85 278 510 610\n",
      " 450  72  61 348 468 412 771 454 274 664 906 909 856 559 914 474 197 783\n",
      " 759 816 785 715 787 714 885 532 640 685 912 722 292 414 244 207 385 710\n",
      "   9 544 653 176 302 667 383 178 807 735 774 282 235 989 457 314 231 205\n",
      "  91 143 824 164 126 956 604 184 638 127 524 279 849 960 865 165 861 382\n",
      " 483 548 142 965 133 136  58 804 342 431 832  97 751  22  73 613 889 558\n",
      " 957 505 800 488 190 511 731 153 929 560  93 656 217 697  81 117 721 194\n",
      "  40 962   1 898 717 778 116 665 404 337 682 436 881 489 752 297 258 396\n",
      " 576 866 859 767 108 588 896 152 694 410 863 179 625 624 905 760 670 574\n",
      " 402 873 583 568 196  54 476 812 806   6 641 964 648 543 286 172 718  64\n",
      " 361 150 727 850 195 485 857 920 686 429 163 180 645 363 623 329 674 619\n",
      " 630 928 115 266 805 892 390 655 526 852 830 466 533 100 134  14 876 439\n",
      " 324 175 855 637 313 345 423 539 817 801 256 419 949 481 810 745 464 262\n",
      " 844 296  20 168 405 504 135 514 294 632 237 700 746 191 290 541 257 364\n",
      " 535 708 618 506 726 987  69 586 280 508 226 347 675 941 157 794 843 425\n",
      " 331 575 762 942 691 564 784 352 743 713 181  75 897  84 944 315 542 275\n",
      " 433 124 139 600 472 323 537 250 170 590  46 549  38 221 453 413 761 284\n",
      " 556 769 609 393 283 469 779 927 753 366 758 916 663 145  37 562 891 442\n",
      " 183 730 528 878 770 841 826 182 566  30  25  86 509  52  53 701 693 415\n",
      " 391 684 208 719 536 979 222 706  55  39 158 720 493 573  50 367  17 312\n",
      " 380 592 445 679 378 480 287  21 437 811 733 230 931 786 933 202 966 255\n",
      " 398 605 308 988 798  59 961 622 384 525  88 919 874 171 105 924 880 681\n",
      " 977 611 293 940 895 243 646 426 238 795 234 820  29 934 678 554 394 227\n",
      " 103 140 122 809 666 595  60 676 540 102 473 362 802  35 959  24 930 578\n",
      " 317  19 273 657 343 860 131 633 975 125 886 144 298  15 943 375 411 310\n",
      "  57 620 167 651  11 438  56 418 424 698   0 204 288 106 599 458 883 500\n",
      " 359 420  89 917 462 306  66 627 408 166 460   8 616 492 265 519 192 358\n",
      " 484 101 938 441  78 246 513 838 737 401  98 793  74 276 459 723 707 712\n",
      " 954 946 530  16 400 110 796 395 377 970 174 552 239 639 742 356 233 444\n",
      " 490 427 711 872 434 268 821  94 447 200 374 259 649 671 120 709  83 808\n",
      " 129 351  12  70 270 440 550 903 848 260 475 756 263 389  28 910 607 254\n",
      " 407 839  71 289  68 732 311  10 531 621  41 768   3 461 677 986 301 660\n",
      " 449 451 303 291 109 365 285 443   2 772 780  51 836 507 300 749 463 635\n",
      " 162 432 728 647 747 503 945 318 271 790 446 668 763 688 214 922 546 295\n",
      " 132 791 829 973 661 130 879 159 652 267 491 925 333 185 907 870 341 918\n",
      " 734 818 465 251 985 261 958 416 835 502 355 696 904 976 659 417 754 515\n",
      " 567 932 435 557 606 551 579 232 470 373 487 368 813 471 309 215 738 955\n",
      " 151 210 241  26 915 338 967 703 864 650 360 584 831 173 589 161 847 972\n",
      " 902 409 764 203 392 601  77  95 320 137 523 890 499 518 299 253 612 935\n",
      " 781 547 939 626 188 814  96 224 894 628 819  18 277 845 553 740 354 478\n",
      "  27 148  76 357 147 803 242 247 264 369  34 615 923 582 739 875 555 421\n",
      " 305 198  62 379 538 406 580 220 223  33  47 687 662  44 968 823 245 765\n",
      " 486 822 501 984 119 654 430 846 853 591 658 452 325  90 387 572 725 330\n",
      " 169 983 766 982 216 981 815  32  63 741 825  48 376 884 636 209 565 372\n",
      " 225 340 517 587 155 336 121 156 177 570 899  82 516 335 596  13 634 950\n",
      " 614 629 563 456 211 775 699 479 837 602 797 219 854 522 307 154 692 213\n",
      " 608 534 189 494 921 428 980 399 834 953 107 963 240 828 729 496 386 201\n",
      " 118   7 455 252 862  43 937 840 482 908 328 744  65 851 705 141 322 750\n",
      " 948 581 206   4 748 871 104 495 229  36  92 755 585 913 571 545 512   5\n",
      "  23 561 321 773 736  67 827 448 888 326 887 477 218 334 858 644 867 788\n",
      "  80 527  79 248 724 160 782 594 776 422 236 339 113 799 498 332 789 689\n",
      " 947 842  87 683 186 199 370 520 642 249 936 349 593 212 716 344 702 757\n",
      " 128 529 926 893 269 978 350 228 900 388 353 497 149 272 603 381  45 146\n",
      " 882 403 467 597  31  99 521 869 193 690 346 631 371 868  49 877 304 669\n",
      " 901 695 112 952 969 138 974 777 397 704 327 672 114 187 281 833 971 577]\n",
      "{3: 3}\n",
      "分类器的分类结果:3,真实的类别是:3\n",
      "[[-0.44159828  0.00679209 -0.42603377]\n",
      " [-0.58438969 -0.21608201 -0.92036054]\n",
      " [ 0.04784547 -0.04827354 -0.36509103]\n",
      " ...\n",
      " [-0.18229926 -0.32431784 -0.44651937]\n",
      " [-0.41825074 -0.25186941 -0.36472924]\n",
      " [-0.3705477  -0.192024   -0.72144248]]\n",
      "[[1.95009043e-01 4.61324209e-05 1.81504771e-01]\n",
      " [3.41511308e-01 4.66914355e-02 8.47063518e-01]\n",
      " [2.28918944e-03 2.33033452e-03 1.33291459e-01]\n",
      " ...\n",
      " [3.32330188e-02 1.05182059e-01 1.99379544e-01]\n",
      " [1.74933683e-01 6.34381975e-02 1.33027419e-01]\n",
      " [1.37305596e-01 3.68732152e-02 5.20479250e-01]]\n",
      "distances: [0.6136448  1.11142533 0.37136368 0.54487161 0.92826897 0.38450708\n",
      " 0.90328612 0.82597032 0.70062493 0.80000021 0.42244682 0.52615755\n",
      " 0.34813462 0.24841461 0.93775192 0.59722101 0.93230103 0.51106096\n",
      " 0.33663816 0.72717489 0.66330463 0.83988111 0.76214956 0.59845067\n",
      " 0.48233221 0.92475034 0.74836061 0.2956748  0.58904086 0.59727166\n",
      " 0.65291316 0.20570413 0.30166185 0.36331476 0.51679453 0.5158722\n",
      " 0.34515021 0.57595431 0.545263   0.63064705 0.89456253 0.87761807\n",
      " 1.02863128 0.11993125 0.28845992 0.053064   0.91340593 0.34276385\n",
      " 0.73241174 0.11721835 0.65904532 0.34719762 0.91678614 0.58584796\n",
      " 0.77680139 0.59388727 0.52868386 0.49462069 0.74805816 0.81223309\n",
      " 0.74941548 0.93071287 0.35268001 0.14876103 0.6734166  0.28747442\n",
      " 1.0887655  0.54291789 0.50364039 0.55773168 0.72638267 0.45295797\n",
      " 0.92276292 0.99270321 0.48307232 0.87010078 0.25767307 0.38629883\n",
      " 0.86340075 0.5204132  0.44483455 0.76632185 0.98140362 0.4094835\n",
      " 1.03687666 1.00317316 0.5006374  0.15377461 0.56044586 0.54198229\n",
      " 0.5058976  0.78912526 0.06458428 0.6644867  0.51889916 0.29296967\n",
      " 0.53885802 1.01151687 0.98771778 0.0519322  0.69368199 0.46469857\n",
      " 0.55877016 0.54222176 0.62080074 0.49325473 0.82145699 0.17041597\n",
      " 0.67489254 0.45856055 0.64665179 0.99241    0.06822402 0.32670585\n",
      " 0.12125881 0.91926955 0.69564619 0.67889701 0.36042783 0.71425317\n",
      " 0.40677557 0.31384241 0.57958927 0.96202581 0.80828778 0.69597961\n",
      " 0.77582503 0.72962996 0.50485641 0.5174836  0.38555645 0.60684958\n",
      " 0.30505225 0.79076198 0.69182777 0.69667306 0.81112841 0.5540947\n",
      " 0.18511397 0.51569264 0.53428487 0.24917079 0.8693895  0.79562072\n",
      " 0.43827804 0.73841469 0.18979526 0.28966168 0.61479485 0.63796829\n",
      " 0.74525646 0.27052825 0.92887741 0.67142507 0.67930308 0.22033323\n",
      " 0.7717739  0.56964966 0.9228949  0.31445699 0.40312422 0.38232113\n",
      " 0.5472436  1.06654017 0.99714721 0.95982577 0.49128898 0.63751989\n",
      " 0.79043631 0.43281244 0.51337904 0.77940241 0.61607974 0.44164827\n",
      " 0.62283092 0.72692174 0.95911964 0.1482182  0.82492097 0.81651751\n",
      " 0.85871415 0.52888829 0.54177219 0.72456593 0.82903361 0.42370406\n",
      " 0.2140254  0.19055451 0.53923131 0.22238896 0.77225077 0.73471534\n",
      " 0.68824558 0.04845843 0.81236677 0.8159881  0.65028928 1.0502029\n",
      " 0.18173085 0.33981908 0.56255416 0.67905547 0.65063526 0.42005109\n",
      " 0.7082513  0.88393046 0.53239529 1.01828617 0.85727494 0.35845203\n",
      " 0.75158776 0.72817805 0.07303786 0.54461388 0.3736417  0.84091962\n",
      " 0.39895929 1.13492149 0.45105787 0.10953459 0.34907274 0.61191923\n",
      " 0.96515593 0.48690898 0.2585091  0.58244193 0.77990466 0.77582059\n",
      " 0.01889759 0.08902989 1.16814183 0.84805015 0.71168597 0.45190415\n",
      " 0.44425615 0.91904514 0.82955701 0.60938513 0.54478562 0.48429865\n",
      " 0.56204071 1.00675757 0.75991014 0.51423138 0.88937228 0.36682319\n",
      " 0.79731366 0.29254129 0.65526347 0.17478558 0.74963809 0.85892699\n",
      " 0.46845525 0.38768897 0.51235478 0.91288939 0.63625456 0.81404122\n",
      " 0.84840182 0.46219036 0.61711721 0.56979279 0.90677343 0.81058804\n",
      " 0.75196411 0.42771445 1.13851978 0.72662877 0.58130162 0.47684382\n",
      " 0.37666368 0.43463135 0.12441534 0.49155529 1.01062723 0.56125954\n",
      " 0.48573607 0.27952597 0.88737849 0.99693676 0.88003052 0.18763223\n",
      " 0.77323162 0.62764696 1.2069535  0.45225796 0.62987994 1.00478785\n",
      " 0.57755294 0.33880263 0.86335883 0.42951632 1.03470413 0.72341558\n",
      " 0.55829624 0.31735703 0.65013121 0.91124189 0.43020765 0.40599938\n",
      " 0.51653696 0.42466114 1.00125644 0.40951528 0.77234104 0.35668062\n",
      " 0.58133198 0.50428029 0.51634414 0.32085637 0.46543749 0.55103553\n",
      " 0.56708703 1.04580196 0.98135418 0.97220539 0.99282228 0.63178077\n",
      " 0.56474935 0.98731297 0.25812648 0.61465402 0.37187456 0.77491079\n",
      " 0.63202287 0.32881347 0.67953635 0.19825743 0.11745343 0.92666514\n",
      " 0.29612131 0.9333558  0.740459   0.51802615 0.41324564 0.2695424\n",
      " 0.30680786 0.85405262 0.58449902 0.06731466 0.46856072 0.43102017\n",
      " 0.84792869 0.70539942 0.46812579 1.07696418 0.65138898 0.70969252\n",
      " 0.97354075 0.18572647 1.24828788 0.4740626  0.53647931 0.09650177\n",
      " 0.56398129 0.34134857 0.48663153 0.43523656 0.58779914 0.83899518\n",
      " 0.50363672 0.83399044 0.85315654 0.91078642 0.95341935 0.81273782\n",
      " 0.75393307 0.4827789  0.33294574 0.33697526 0.74098708 0.15600149\n",
      " 0.67647474 0.3663212  0.70380336 0.69008784 0.44813187 0.83112321\n",
      " 0.90500071 0.56565775 0.80606351 0.52851088 1.13066197 0.82604489\n",
      " 0.57601357 0.86524165 0.11710559 0.97683565 0.76446335 0.38848819\n",
      " 1.03537003 0.51416808 0.38008228 0.61907596 0.56107224 0.63038783\n",
      " 0.66966419 0.20623621 0.66339885 0.22477069 0.61215069 0.53728632\n",
      " 0.88303827 0.34197772 0.65564287 0.84690723 0.53819983 0.36511141\n",
      " 0.54366243 0.66056322 0.92578463 0.7867608  0.9006452  0.83397077\n",
      " 0.859055   0.92744825 0.78728435 0.2592031  0.53283095 0.97512641\n",
      " 0.56564905 0.23312209 0.11236425 0.59847769 1.29418047 1.02132894\n",
      " 0.66143487 0.45020321 0.78522182 0.60480674 0.74648242 0.70136101\n",
      " 0.48069678 0.95749647 0.94121843 0.52945641 0.63714364 0.75203557\n",
      " 0.66454016 0.56627734 0.50051779 0.72059006 0.67473323 0.49040501\n",
      " 0.7650668  0.89706325 0.39783161 0.5024883  0.22923077 0.33115905\n",
      " 0.94911888 0.52869379 0.56855378 1.05127034 0.95784043 0.49834327\n",
      " 0.14051527 0.75865291 0.51388262 0.67521441 0.39014952 0.38900534\n",
      " 0.58280864 0.32981977 0.75795396 0.41001176 1.01285214 0.2341042\n",
      " 0.89294543 0.5578733  0.71986095 0.72674778 1.06112584 1.07301446\n",
      " 0.9324716  0.61441338 0.6711798  0.34963315 0.21001686 0.33272733\n",
      " 0.69508395 1.0356473  0.33372578 0.91162397 0.8156538  0.67833763\n",
      " 0.21708255 0.76503725 0.99129005 0.87380397 0.41166255 0.28906791\n",
      " 0.67418948 0.92238791 0.15358292 0.24256685 0.43293196 0.07888483\n",
      " 0.80965592 0.55650377 0.71818836 0.46944957 0.32849529 0.47138534\n",
      " 0.88316084 0.92145167 0.78699362 0.66516082 0.65568231 0.9541863\n",
      " 0.89771698 0.845596   0.43626073 0.77001987 0.8754763  0.88017772\n",
      " 0.27677683 0.34068679 0.88168099 0.44983678 0.24073502 0.16993222\n",
      " 0.28624352 0.33697579 0.75641171 0.95155413 0.81905679 0.45217893\n",
      " 0.6210558  0.09381923 0.95140275 0.62801857 1.04163183 0.78271845\n",
      " 0.1404227  0.84597065 1.12377638 0.51108778 0.25209232 0.72262674\n",
      " 0.43171542 0.61539558 0.68660514 0.64047341 0.97283336 0.2331865\n",
      " 0.51418567 0.86729823 0.76065146 1.01123825 0.73547471 0.89813448\n",
      " 0.62018004 0.70869156 0.70639033 0.75106372 0.69077568 0.7893252\n",
      " 0.86337084 0.99930083 0.72204398 0.06573842 0.89960866 0.79877979\n",
      " 0.53023646 0.38292926 0.6110751  0.37023182 0.88012383 0.94159192\n",
      " 0.31598422 0.25885204 0.47314445 0.50312733 0.62594891 0.59057761\n",
      " 0.99116873 0.1922058  0.59914242 0.44213619 0.33838024 0.3314585\n",
      " 0.9722618  0.94146205 0.55023919 0.27549626 1.13281203 0.75252421\n",
      " 0.79019509 0.85555589 0.82936636 0.34233487 0.72911458 0.43237785\n",
      " 0.09907908 0.64410115 0.49976833 0.64956327 0.9522293  0.49284826\n",
      " 1.25802552 0.27359029 0.32840849 0.22838927 0.74305279 0.82334549\n",
      " 0.37159084 0.84114338 0.27755076 0.65456785 0.90031943 0.57540418\n",
      " 0.49466718 0.81944989 0.38610323 0.28186229 0.41482225 0.9274388\n",
      " 0.82304735 0.73146241 0.58681318 0.44262261 0.77124654 1.01832186\n",
      " 0.89318651 1.13278492 0.84731639 0.43734215 0.20547654 0.40594557\n",
      " 0.68406817 0.10850176 0.60998318 0.76886268 0.28690691 0.72225631\n",
      " 0.46456741 1.05787007 0.72943723 0.54230716 0.98053944 0.82941717\n",
      " 0.1787106  0.98078281 0.413655   0.92476116 0.46438902 0.52881295\n",
      " 0.74144723 0.471793   0.45800105 0.91218675 0.29124478 1.02943652\n",
      " 0.78195379 0.87851974 0.79352171 0.96643823 0.35199811 0.66316919\n",
      " 0.56833766 0.45337743 0.45199915 0.87263965 0.86967806 0.76073804\n",
      " 0.82335809 0.79292849 0.4191694  0.09093673 0.66720298 0.7462808\n",
      " 0.1887462  0.95333664 1.10696821 0.72561974 0.56684015 0.33937502\n",
      " 0.68152852 0.91035342 0.93264458 0.7739917  0.70301034 0.45861725\n",
      " 0.8614783  0.89802295 0.88175251 0.16824952 0.54397896 0.49503527\n",
      " 0.0773864  0.63401743 0.14238193 0.71349512 0.90536779 0.06964809\n",
      " 0.36712104 0.65515886 0.72557672 0.36604157 0.76476073 0.50054808\n",
      " 0.04608638 0.76209583 0.54881158 0.22861381 0.8722437  0.58583201\n",
      " 1.02187188 0.6162994  0.80364983 0.52493127 1.28487663 0.53679644\n",
      " 0.9552283  0.87859713 0.66604127 0.9150263  0.70991154 1.22761189\n",
      " 0.84316809 0.66354563 0.81429867 0.55812223 0.09821973 0.32878703\n",
      " 0.91299625 0.78577391 0.32910583 0.2647285  0.60940974 0.7241229\n",
      " 0.42171    0.77352185 0.29717483 0.92205365 0.4463178  0.45296253\n",
      " 0.79843346 0.5134715  0.38080967 0.33734256 0.6439049  0.66836429\n",
      " 0.67300656 0.90530665 0.6866307  0.39799061 0.68238832 0.38277993\n",
      " 0.45193668 0.7138792  0.8411614  0.77532396 0.30398273 0.24687191\n",
      " 0.42013093 0.         0.56197321 0.86928433 1.08711731 0.68518413\n",
      " 0.84515037 0.73171812 0.32908493 0.41174179 0.55315739 0.75854637\n",
      " 0.46169795 0.61591795 0.7470587  0.93899191 0.45382495 0.70937159\n",
      " 1.02273373 0.29362371 0.05583297 0.15666496 0.84977329 0.98069223\n",
      " 0.57620136 0.26805838 0.6681543  0.86478287 0.82745618 0.93353153\n",
      " 0.91206997 0.90152503 0.50727803 0.21197851 0.59579348 0.35849304\n",
      " 0.9609586  0.65496257 0.6142819  0.5841866  1.02632219 0.34479808\n",
      " 0.57553396 0.15326889 0.72452023 0.85440704 0.52481745 0.9069529\n",
      " 0.78297098 1.1312709  0.75282164 0.94482417 1.27528163 0.64745405\n",
      " 0.78687788 0.67513005 1.05902756 0.46887735 0.53855831 0.29129608\n",
      " 0.94911073 0.98552303 0.89336303 0.44362022 0.47810045 0.45691832\n",
      " 0.42480854 0.97172789 0.76476476 0.39921292 0.69880486 0.98214998\n",
      " 0.22158781 0.46311433 0.59423571 0.232324   0.77539862 0.19184685\n",
      " 0.63190382 0.30097939 0.81771249 0.17824914 0.58900157 0.50748649\n",
      " 0.23001042 0.9324727  0.0961499  0.89134758 0.75684834 0.67304023\n",
      " 0.20614124 0.44987638 0.65289294 1.00460496 0.70897811 0.62825435\n",
      " 0.63992676 0.96456314 0.11724782 0.57495455 0.91751814 0.84505681\n",
      " 0.2880384  1.08056989 0.70545826 0.74028158 0.50624838 0.98412469\n",
      " 0.40168864 0.98864838 0.82134971 0.05166833 0.19455217 0.1475995\n",
      " 0.49992486 0.40859374 0.47425185 0.66446972 0.52405033 0.38309915\n",
      " 0.90921267 0.83140047 0.54673394 0.51480428 0.84057488 0.82874995\n",
      " 0.69879846 0.58481695 0.15933799 0.97256595 0.76861524 0.18322051\n",
      " 0.20924736 0.89071758 0.45091572 0.72189691 0.98823401 0.24623109\n",
      " 0.22283313 1.07044435 1.13209121 0.86368866 1.00198262 0.34081938\n",
      " 0.61340608 0.61283127 0.69999956 0.43645725 0.47864066 0.65886065\n",
      " 0.89919167 0.57058047 0.19182291 0.84881818 0.79533463 0.90849544\n",
      " 0.82903213 0.09054133 0.83701039 0.35485382 0.56165428 0.68243719\n",
      " 0.44917128 0.70939203 0.74198085 0.16257256 0.53310288 0.53051351\n",
      " 0.63610775 0.45647842 0.60811391 0.94861314 0.61451108 0.69229832\n",
      " 0.55202697 0.89647549 0.45242823 1.14682579 0.98930627 0.25111575\n",
      " 0.10016432 0.9432032  0.68159991 0.34000536 0.51032491 0.98633598\n",
      " 0.93929479 0.90279372 0.56231194 0.56905712 0.70921823 0.55014779\n",
      " 0.40155896 1.0620771  0.26813779 0.99322769 0.87327342 0.18845785\n",
      " 0.73542517 0.48354128 0.80971182 0.72686715 0.3966439  0.47050725\n",
      " 0.97809659 0.78946825 0.79384349 0.56516523 0.68433947 0.98265339\n",
      " 1.08683871 0.55659697 0.19422628 0.18501709 0.5773363  0.16984574\n",
      " 0.31034233 0.30028084 0.1029138  0.80588029 0.35715243 0.75662353\n",
      " 0.09748485 0.47555176 0.29713165 0.19853883 0.16074677 0.3213705\n",
      " 0.22625772 0.30899958 0.78165627 0.58120102 0.60942538 0.83346149]\n",
      "sortedDistIndicies [757 228 702 193 867  99  45 776  92 561 339 112 695 212 690 497 229 913\n",
      " 669 529 842 353 978 724 594 936 974 631 219 422 386  49 854 328  43 114\n",
      " 272 534 456 692 869 177  63 799 494  87 371 777 884 982 921 687 971 521\n",
      " 107 249 837 642 198 887 969 138 349 281 953 672 146 187 908 833 577 968\n",
      " 868 327 981 628  31 846 397 888 478 789 186 486 155 828 189 894 399 984\n",
      " 603 705 448 840 831 421 545 467 520 495 893 755  13 141 935 538  76 320\n",
      " 224 571 417 729 781 950 335 151 601 585 516 608 277 615 522 634  65 858\n",
      "  44 491 147 652 815 247  95 775  27 330 980 734 973 835  32 754 132 336\n",
      " 985 972 121 159 570 295 309 983 113 602 502 725 325 764 728 463 449 581\n",
      " 479 368 482  18 369 523 741 580 289 677 199 939 517 899 355 403 591  47\n",
      " 797  36  51  12 220 477 658  62 915 305 976 209 791 118  33 407 699 373\n",
      " 245 696 567   2 606 322 214 270 392 740 161 749 565 875   5 130 614  77\n",
      " 253 389 461 460 958 446 747 216 825 948 864 160 629 299 120 871  83 303\n",
      " 465 490 765 334 644 616 668 203 756 732  10 185 301 822 265 291 298 341\n",
      " 540 593 169 496 271 357 512 903 627 144 173 579 621 819 234  80 736 376\n",
      " 918 519 847 427 890 218 233 750 662 527 285 932  71 737 661 772 925 821\n",
      " 650 109 683 768 259 829 646 636 101 310 344 252 340 813 501 959 503 649\n",
      " 572 351 872 979 269 820 904 432  24 367  74 955 239 276 356 223 443 166\n",
      " 273 599 105  57 612 689 455 596 870 440 701  86 447 573 360  68 307 128\n",
      "  90 862 788 839 940  17 537 254 170 739 458 391 546 243 879 139  35 308\n",
      " 300  34 129 333  94  79 874 802 711  11 381  56 451 647 181 435 564 923\n",
      " 206 418 922 140 352 713 401 406 814  96 188 182  89 103 639  67 408 688\n",
      " 213 238   3  38 878 162 704 947 584 311 930 766 137 499 967  69 469 723\n",
      " 294 102  88 394 275 916 758 240 944 200 354 318 963 420 379 439 676 312\n",
      " 660 452 945 157 261 907 855 611 798  37 384 780 970 288 122 987 268 306\n",
      " 225 462 795 338 883 707  53 620 358 838  28 575  55 830 790  15  29  23\n",
      " 423 578 429 131 926 237 730 988 632 566 221 400 901 900   0 794 475 928\n",
      " 321 148 541 769 172 709 260 393 552 104 528 174 574 283 531 851 286 395\n",
      "  39 317 834 324 691 924 256 436 167 149 852 543 742 595 110 809 597 296\n",
      " 196 202 346 848  30 609 793 697 248 404 508 905  50 409 426 659  20 398\n",
      " 721 873  93 438 507 716 670 782 743 396 476 153 744 845  64 492 442 108\n",
      " 811 459 372 485 117 201 154 326 678 938 748 917 630 964 761 542 746 192\n",
      " 375 556 134 929 100 480 116 125 135 882 826 902   8 431 682 374 343 860\n",
      " 554 204 553 850 946 773 919 347 718 232 693 751 119 500 470 441 891 560\n",
      " 635 539 293 731 800 183 698 675  70 267 471 957 175  19 211 592 638 127\n",
      " 619 763  48 191 954 550 145 861 332 370 648 920 604 150 671 430 770  58\n",
      "  26  60 250 555 210 264 437 587 806 366 524 977 844 464 767 457 242 548\n",
      " 665 703  22 388 700 824 487 444  81 886 633 513 622 156 190 304 282 733\n",
      " 681 323 753 832 227 126  54 171 226 986 654 533 804 428 727 411 810 506\n",
      " 416  91 557 961 588 168 133 667 656 962 910 143 246 738 563   9 710 975\n",
      " 380 124 498 956 263 136  59 194 365 257 722 484 195 179 836 526 613 866\n",
      " 106 618 605 666 178   7 383 784 881 912 184 590 641 236 377 877 989 413\n",
      " 361 914 359  21 880 215 607 752 720 857 762 511 535 405 626 342 231 258\n",
      " 909 778 362 337 801 589 208 180 251 414 684 290 558  78 897 783 385 547\n",
      " 759 142 664  75 706 663 952 489 514  41 655 715 280 568 515 518 686 402\n",
      " 504 205 278 244 889 843 468 624 818  40 931 445 510 685 551 906 562 610\n",
      " 412 787 943   6 378 745 694 262 803 911 876 679 363 297 483 786 651 255\n",
      " 726  46 717  52 856 235 115 505 735 493  72 158  25 645 410 329 617 415\n",
      "   4 152  61  16 474 841 680 331 785  14 771 942 434 583 569 937 807 927\n",
      " 816 450 530 525 598 673 364 509 714 433 454 176 165 792 123 853 222 657\n",
      " 823 315 582 885 544 348 419 387 960 640 779 643 314  82 827 965 863 817\n",
      " 941 319  98 892 865 934 576 488 111  73 316 951 279 164 559 302 898  85\n",
      " 849 287 241 274 549  97 466 207 623 425 708 774 796  42 653 292 390 481\n",
      "  84 532 313 197 453 637 812 472 949 163 895 473 345 859 966 760  66 674\n",
      "   1 536 382 805 896 625 586 217 266 933 230 284 719 350 600 808 712 424]\n",
      "{2: 3}\n",
      "分类器的分类结果:2,真实的类别是:2\n",
      "[[ 0.06193507 -0.0332692   0.03159893]\n",
      " [-0.08085633 -0.2561433  -0.46272784]\n",
      " [ 0.55137883 -0.08833482  0.09254167]\n",
      " ...\n",
      " [ 0.3212341  -0.36437912  0.01111333]\n",
      " [ 0.08528261 -0.29193069  0.09290346]\n",
      " [ 0.13298566 -0.23208528 -0.26380978]]\n",
      "[[3.83595338e-03 1.10683965e-03 9.98492577e-04]\n",
      " [6.53774644e-03 6.56093880e-02 2.14117051e-01]\n",
      " [3.04018615e-01 7.80304103e-03 8.56396107e-03]\n",
      " ...\n",
      " [1.03191347e-01 1.32772144e-01 1.23506196e-04]\n",
      " [7.27312420e-03 8.52235281e-02 8.63105295e-03]\n",
      " [1.76851853e-02 5.38635779e-02 6.95955992e-02]]\n",
      "distances: [0.07707974 0.53503662 0.56602616 0.18067973 0.71165897 0.43444423\n",
      " 0.31768974 0.66761579 0.51138783 0.52915261 0.54314882 0.20157488\n",
      " 0.40738627 0.53589176 0.61674127 0.5161686  0.72796182 0.45609747\n",
      " 0.56260056 0.2590665  0.47211625 0.33654773 0.58215459 0.45727537\n",
      " 0.59108898 0.38025471 0.24868731 0.57652122 0.7177676  0.53172229\n",
      " 0.14025436 0.61933665 0.57059575 0.58002573 0.56618018 0.21713101\n",
      " 0.44208281 0.26593888 0.32474341 0.58126956 0.64234875 0.5418296\n",
      " 0.59975621 0.62992744 0.4561114  0.71618814 0.71842477 0.6498683\n",
      " 0.50822104 0.67317557 0.09456797 0.49198397 0.69745548 0.64014808\n",
      " 0.60642407 0.64119525 0.65114953 0.42873383 0.40990439 0.34739001\n",
      " 0.65136904 0.6333332  0.48728803 0.57308495 0.23904345 0.63658192\n",
      " 0.62952864 0.39353105 0.30306232 0.37366431 0.30725705 0.51935945\n",
      " 0.61838691 0.5008958  0.4704643  0.25119975 0.65932851 0.62103575\n",
      " 0.42261252 0.4508768  0.62437262 0.62005783 0.74292442 0.60727371\n",
      " 0.42295124 0.56515344 0.48096472 0.67342355 0.37827545 0.19304979\n",
      " 0.58124014 0.40566043 0.65954515 0.43029063 0.51139635 0.62511032\n",
      " 0.59299667 0.80099012 0.51574389 0.70651299 0.65675619 0.44431896\n",
      " 0.14941799 0.52622494 0.49747142 0.52690269 0.3265618  0.53127022\n",
      " 0.50455576 0.40263131 0.58189393 0.5801487  0.73362925 0.54918183\n",
      " 0.75564995 0.49874923 0.53045776 0.33468914 0.6888609  0.46857067\n",
      " 0.46508474 0.54900936 0.6347866  0.5837557  0.47933794 0.55968269\n",
      " 0.57420397 0.3952472  0.5356807  0.63995567 0.30019399 0.13633896\n",
      " 0.42359637 0.3221762  0.49055362 0.68366675 0.46786769 0.23212849\n",
      " 0.68879398 0.4759205  0.49501785 0.55010519 0.64682712 0.42999204\n",
      " 0.35601165 0.11398236 0.61134587 0.61981059 0.20190563 0.59864944\n",
      " 0.25749058 0.5806131  0.79483243 0.40049932 0.45399543 0.61709604\n",
      " 0.48296401 0.30485089 0.42386809 0.47504729 0.77059555 0.48207054\n",
      " 0.59844315 0.47155307 0.46108823 0.56882052 0.51181854 0.52163227\n",
      " 0.36850878 0.33147908 0.41517877 0.54031715 0.39703399 0.64923346\n",
      " 0.5730825  0.61830164 0.63865949 0.53548917 0.52646963 0.68577291\n",
      " 0.39402669 0.38454024 0.38272153 0.10855046 0.60606178 0.51750434\n",
      " 0.59078435 0.73643635 0.54702526 0.57998807 0.49674365 0.43684423\n",
      " 0.50638213 0.71172983 0.38511587 0.44691251 0.43803708 0.64573835\n",
      " 0.57341868 0.49676017 0.15331434 0.37217642 0.43895235 0.33440548\n",
      " 0.43633387 0.67586987 0.66620949 0.52101691 0.6251157  0.37850389\n",
      " 0.38567661 0.39701365 0.65138086 0.58876043 0.4511214  0.55439572\n",
      " 0.59112077 0.58918551 0.61547594 0.58599368 0.45738597 0.64303673\n",
      " 0.5337157  0.69011059 0.42388313 0.26925359 0.62445325 0.2917882\n",
      " 0.69526636 0.6579683  0.67865402 0.61286952 0.17969975 0.55280009\n",
      " 0.51480154 0.63138751 0.60164193 0.47464718 0.45039673 0.30587344\n",
      " 0.31828112 0.65507664 0.51652315 0.45199713 0.6441336  0.5677716\n",
      " 0.62397362 0.543959   0.54722278 0.66309636 0.20201065 0.53911879\n",
      " 0.35953879 0.64389162 0.48734155 0.7475377  0.35838182 0.25775232\n",
      " 0.38659933 0.5437954  0.53179829 0.52375697 0.29059546 0.43822368\n",
      " 0.46948905 0.56188073 0.53105962 0.12683433 0.44777206 0.47797852\n",
      " 0.36009443 0.32210667 0.70558812 0.54452111 0.62694064 0.56134216\n",
      " 0.53227909 0.62694977 0.5717038  0.50269663 0.26582343 0.72457233\n",
      " 0.52404769 0.39312423 0.62509055 0.23567455 0.42984029 0.50826736\n",
      " 0.39477779 0.44926825 0.68664025 0.25607045 0.72445249 0.15336987\n",
      " 0.46806753 0.3839834  0.53582079 0.46141042 0.46917509 0.52005088\n",
      " 0.63317346 0.28649875 0.73012296 0.45574241 0.66355149 0.35028069\n",
      " 0.29734417 0.70489571 0.59753898 0.36911858 0.47534572 0.44456405\n",
      " 0.29540452 0.41614076 0.54820562 0.38712332 0.65465765 0.29677125\n",
      " 0.22733592 0.58618001 0.52574299 0.48828067 0.63059992 0.37245746\n",
      " 0.40820778 0.52553328 0.56412435 0.67024004 0.67496472 0.37252589\n",
      " 0.55022599 0.48774022 0.59019566 0.51067203 0.61766638 0.55224768\n",
      " 0.48718449 0.33679642 0.17278784 0.64146855 0.51999315 0.53335152\n",
      " 0.60021378 0.52675758 0.48030084 0.47879175 0.54570157 0.29936405\n",
      " 0.65635241 0.75592461 0.94970952 0.35089848 0.31933804 0.63608931\n",
      " 0.3108141  0.38747089 0.49773985 0.60222079 0.58517037 0.63664137\n",
      " 0.33367808 0.61736929 0.3706762  0.4455076  0.39780365 0.47654713\n",
      " 0.21577561 0.40243165 0.56276408 0.53073171 0.61506653 0.68073945\n",
      " 0.49787383 0.55470138 0.63425367 0.02309587 0.64559937 0.67296276\n",
      " 0.4136832  0.49791574 0.15791407 0.46512978 0.63429183 0.38552588\n",
      " 0.63213254 0.55896169 0.62338073 0.69701651 0.53136125 0.54712384\n",
      " 0.46834925 0.50806915 0.45950465 0.41524863 0.15383785 0.54701783\n",
      " 0.50402867 0.75349304 0.09068352 0.69558678 0.58774153 0.51339367\n",
      " 0.30020324 0.52294073 0.37330057 0.29534417 0.26775075 0.47060022\n",
      " 0.37926955 0.37475724 0.32758462 0.57270152 0.47900207 0.34440397\n",
      " 0.49432566 0.27285447 0.17461282 0.49999359 0.53045273 0.42687247\n",
      " 0.52787454 0.57685217 0.72043829 0.34717614 0.78296541 0.55431314\n",
      " 0.31167533 0.29203926 0.4794445  0.34852059 0.45989105 0.42125017\n",
      " 0.46795379 0.35454423 0.53967644 0.23186455 0.44496887 0.59560215\n",
      " 0.5811096  0.46014578 0.56598583 0.61800963 0.25458979 0.20208088\n",
      " 0.2131516  0.6525251  0.28801717 0.56897044 0.57608048 0.51764633\n",
      " 0.53704598 0.43682844 0.26861873 0.42341112 0.55389433 0.62389813\n",
      " 0.60640368 0.43213795 0.18718695 0.52922984 0.40972733 0.39402968\n",
      " 0.31928967 0.56977864 0.47245177 0.44467068 0.49659899 0.82572477\n",
      " 0.59425843 0.56516056 0.41326174 0.38066428 0.41391992 0.45029172\n",
      " 0.61564338 0.61849612 0.33588984 0.55708981 0.53744171 0.42119195\n",
      " 0.26464674 0.40700183 0.43097441 0.5454778  0.41739077 0.42359459\n",
      " 0.60028869 0.36296238 0.43725719 0.63453802 0.45420785 0.55718545\n",
      " 0.05039084 0.69510345 0.67806573 0.5963904  0.60076324 0.65200533\n",
      " 0.69292811 0.53133747 0.55550249 0.51745861 0.63101533 0.56310954\n",
      " 0.71352259 0.48887027 0.262948   0.63253945 0.56611023 0.34450546\n",
      " 0.52205574 0.39856839 0.57275195 0.25211805 0.59103377 0.41962281\n",
      " 0.53234682 0.59056077 0.53766919 0.49010389 0.68411542 0.62609441\n",
      " 0.5664005  0.45893774 0.49952784 0.62621166 0.46961541 0.70523741\n",
      " 0.31937461 0.73631941 0.73760015 0.56753267 0.72900662 0.31526137\n",
      " 0.54255533 0.25359242 0.47696344 0.38883743 0.63004484 0.53079252\n",
      " 0.46544393 0.53006109 0.56774988 0.4746832  0.71444196 0.58699533\n",
      " 0.51345174 0.47896204 0.45773878 0.45735534 0.66266888 0.59866171\n",
      " 0.6203539  0.61441554 0.37106961 0.49461001 0.41411878 0.39016135\n",
      " 0.35397548 0.57026898 0.52650746 0.6695967  0.70090524 0.44321695\n",
      " 0.47594973 0.39526466 0.39514208 0.56877541 0.52643015 0.61518099\n",
      " 0.41004419 0.49245868 0.58832866 0.2716319  0.46464475 0.44270534\n",
      " 0.39475681 0.73993196 0.54536999 0.26393363 0.51882562 0.52251647\n",
      " 0.68945308 0.71815185 0.19726846 0.61478161 0.50389439 0.50868859\n",
      " 0.33963509 0.47893879 0.62514356 0.38036498 0.58913546 0.45896092\n",
      " 0.66114424 0.18472466 0.65945972 0.54612984 0.53622588 0.21357551\n",
      " 0.72345602 0.59831823 0.61896274 0.6979365  0.46309993 0.59762489\n",
      " 0.51929702 0.39178559 0.51913358 0.20601762 0.57101999 0.52216941\n",
      " 0.57638501 0.56739764 0.44552561 0.64164834 0.44183404 0.51686113\n",
      " 0.42756359 0.33556055 0.54994118 0.43739356 0.58435471 0.4683834\n",
      " 0.72632713 0.62091501 0.48040899 0.31173022 0.53314202 0.57722077\n",
      " 0.49352088 0.68328995 0.25128111 0.54266165 0.59930184 0.24697853\n",
      " 0.66368748 0.43410956 0.4125962  0.41007954 0.5361031  0.59144412\n",
      " 0.75957254 0.58391657 0.65343995 0.43964988 0.51145024 0.49620757\n",
      " 0.56435708 0.44235903 0.25595285 0.66866601 0.42158329 0.52006246\n",
      " 0.52138212 0.6294937  0.28154845 0.41229515 0.36466068 0.37746811\n",
      " 0.62203755 0.4611897  0.53674825 0.42430882 0.57210201 0.43869773\n",
      " 0.43972682 0.48618906 0.31438817 0.68726147 0.40849186 0.36062467\n",
      " 0.677712   0.51633462 0.49708345 0.47220165 0.40987725 0.55808382\n",
      " 0.57990226 0.6185245  0.58755331 0.10075496 0.27006974 0.48270159\n",
      " 0.68502271 0.61285872 0.68409619 0.54818369 0.51359978 0.45113795\n",
      " 0.74996391 0.41395472 0.54488909 0.67881653 0.40481128 0.73430564\n",
      " 0.67571275 0.3936137  0.11768474 0.40695066 0.44973193 0.45728264\n",
      " 0.67909523 0.47483819 0.52282328 0.70681341 0.24991405 0.54556421\n",
      " 0.45346438 0.50437578 0.53411314 0.49770837 0.83489659 0.31581475\n",
      " 0.47843542 0.46945723 0.50543777 0.41947124 0.22931441 0.67367471\n",
      " 0.67936547 0.34577937 0.43731628 0.6138996  0.65017664 0.58531184\n",
      " 0.32959541 0.6300114  0.44950143 0.52417277 0.62205671 0.3435905\n",
      " 0.49920228 0.63090485 0.58513782 0.61097881 0.7086934  0.49629107\n",
      " 0.50551798 0.61068878 0.50767798 0.38213761 0.4083832  0.47526683\n",
      " 0.44580526 0.65921268 0.34815931 0.44978227 0.49825467 0.41641045\n",
      " 0.71566966 0.43435361 0.45528304 0.59642477 0.61878344 0.62208815\n",
      " 0.41502639 0.68159991 0.39010189 0.490939   0.48896753 0.678821\n",
      " 0.36974389 0.35968917 0.48081572 0.33311032 0.66144489 0.31828859\n",
      " 0.6145568  0.44446605 0.28905245 0.51770593 0.54341283 0.50045447\n",
      " 0.74074111 0.60826689 0.67229563 0.75696646 0.63134066 0.43001946\n",
      " 0.54073444 0.50828864 0.48857338 0.58500058 0.20514427 0.49682881\n",
      " 0.2445546  0.45164136 0.67877128 0.55979513 0.12028725 0.59499679\n",
      " 0.57993977 0.62531458 0.5560075  0.28470247 0.64809617 0.39694656\n",
      " 0.15246612 0.57877752 0.39238898 0.62501917 0.64534803 0.63734399\n",
      " 0.620241   0.52316713 0.55548082 0.66705691 0.7588487  0.48696821\n",
      " 0.4677886  0.34587877 0.45538542 0.26246466 0.6194061  0.71220504\n",
      " 0.60307039 0.37833953 0.45729022 0.60963309 0.51570147 0.42738178\n",
      " 0.61541221 0.69332551 0.52662465 0.63908294 0.56582371 0.79751089\n",
      " 0.48980099 0.51017877 0.5144871  0.53381863 0.46299692 0.705227\n",
      " 0.51016748 0.53317261 0.42063516 0.67617817 0.2708155  0.45241575\n",
      " 0.54405609 0.43686975 0.72872151 0.6696625  0.27025624 0.39140102\n",
      " 0.55924973 0.55645669 0.57068043 0.45997202 0.5981599  0.53338497\n",
      " 0.48927782 0.66565706 0.61888413 0.33190825 0.6325239  0.55535539\n",
      " 0.61220388 0.48747031 0.10831974 0.4377699  0.63235787 0.40121163\n",
      " 0.47358089 0.74961994 0.69801909 0.64006162 0.69560135 0.68493441\n",
      " 0.20687502 0.60865617 0.45722126 0.47808367 0.54784763 0.59227913\n",
      " 0.29380101 0.74143978 0.4729889  0.52483821 0.16867351 0.67674728\n",
      " 0.56762228 0.56966079 0.6013693  0.67937021 0.55023572 0.74273419\n",
      " 0.72693661 0.63397071 0.27899909 0.58546633 0.39433129 0.69805541\n",
      " 0.55602808 0.61592176 0.57048887 0.62925562 0.63540211 0.44052693\n",
      " 0.46203477 0.51727944 0.47437536 0.25179845 0.53021745 0.3411442\n",
      " 0.61246686 0.50027685 0.68177559 0.49888349 0.40488886 0.56070363\n",
      " 0.50490659 0.60914741 0.5215344  0.51578374 0.52094107 0.5256891\n",
      " 0.55232193 0.55663573 0.38287906 0.56069878 0.18542337 0.41584083\n",
      " 0.30656347 0.37338762 0.56924216 0.32222964 0.35246935 0.46277987\n",
      " 0.41795165 0.38207163 0.49643546 0.56848612 0.57500439 0.56367132\n",
      " 0.62238527 0.6828778  0.         0.35898636 0.60586555 0.45324048\n",
      " 0.35325442 0.65847189 0.39856951 0.55630289 0.56476144 0.51913876\n",
      " 0.63202566 0.44079495 0.53804283 0.6047185  0.80483348 0.64972519\n",
      " 0.62112684 0.57505818 0.54339334 0.36085621 0.45884004 0.32867173\n",
      " 0.52827788 0.30709843 0.66584323 0.35764323 0.47718921 0.75924937\n",
      " 0.6141757  0.63820558 0.5322269  0.6963073  0.43152761 0.73441838\n",
      " 0.60976672 0.57086743 0.78289788 0.58135874 0.59846022 0.62880401\n",
      " 0.69787185 0.44938079 0.60346639 0.5708901  0.5267901  0.73509188\n",
      " 0.49500812 0.51295461 0.3829124  0.48588784 0.31800583 0.37569184]\n",
      "sortedDistIndicies [938 375 492   0 398  50 681 860 183 145 698 790 267 131  30 102 798 200\n",
      " 293 394 380 880 338 416 232   3 595 922 458  89 584  11 148 250 443 784\n",
      " 609 870 444 599 366  35 318 718 435 137 285  64 786 635  26 706  75 632\n",
      " 903 513 535 442 650 291 150 257  19 813 506 579 480 280  37 406 452 225\n",
      " 682 844 838 573 415 890 656 795 301 446 770 262 227 427 876 405 312 317\n",
      " 306 347 130 402  68 157 239 924 961  70 354 426 627 668 533 713   6 988\n",
      " 240 767 462 352 528 271 133 927  38 106 410 959 726 169 855 765 360 203\n",
      " 117 619 476  21 337 588 905 731 413 509 721 811 423  59 746 429 305 351\n",
      " 928 942 558 433 144 963 256 939 252 763 270 671 957 487 658 168 309 762\n",
      " 362 554 201 323 329 404 925  69 409 989 659  88 817 209 408  25 591 471\n",
      " 931 741 182 920 986 295 181 194 383 210 258 315 355 537 758 557 845 607\n",
      " 800 283  67 697 180 461 892 576 288 566 127 565 797 211 172 364 511 944\n",
      " 153 863 367 109 694 910  91 699 481  12 324 742 670 460 676  58 570 639\n",
      " 657 638 470 378 472 691 556 756 170 393 923 313 749 484 930 717 515 836\n",
      " 479 431 652  78  84 453 485 132 158 224 663 419 821 618  57 286 143 779\n",
      "  93 482 970 457 637 751   5 204 451 191 841 488 722 621 861 196 263 665\n",
      " 202 645 666 899 949 616  36 649 575 563 101 769 311 465 436 363 614 744\n",
      " 195 268 289 979 728 700 747 473 238  79 214 689 787 243 839 941 708 154\n",
      " 490 752 812 303  17  44 872  23 701 818 549 220 548 958 523 593 392 430\n",
      " 849 439 164 661 297 900 929 832 604 574 120 381 540 810 136 432 294 390\n",
      " 623 119 298 715 264 526  74 407 163  20 675 464 878 864 902 237 543 703\n",
      " 159 743 310 139 564 365 536 964 269 873 714 345 589 547 412 124 428 344\n",
      " 626 764  86 161 683 156 987 667 809 336  62 254 859 331 321 782 505 760\n",
      " 852 828 519 134 759  51 571 630 414 555 984 140 647 737 932 466 190 199\n",
      " 785 674 104 711 356 372 379 748 115 909 732 524 417 907 773  73 279 586\n",
      " 396 709 108 912 716 738 192 740 391  48 287 781 587 834 829 333   8  94\n",
      " 646 166 985 401 546 688 830 234 820  98 915  15 673 242 617 901 501 185\n",
      " 449 771 580 608 947 606  71 340 299 653 916 207 654 914 167 510 611 581\n",
      " 704 403 805 261 282 729 879 325 917 320 103 568 178 560 824 343 982 105\n",
      " 420 960   9 459 541 904 418 116 369 539 266 107 499 388  29 260 968 276\n",
      " 516 628 835 341 851 222 831 710   1 177 128 296  13 640 598 662 450 478\n",
      " 518 950 251 434 171 780  41 534 633  10 956 772 259 247 840 273 692 578\n",
      " 483 707 346 597 395 188 389 248 874 687 314 121 113 620 141 330 886 335\n",
      " 918 233 454 425 215 373 857 806 500 794 894 945 847 919 477 491 677 385\n",
      " 846 125 789 921 911 275 265  18 368 503 935 326 648 946  85 469 826 440\n",
      "   2 508  34 522 613 531 882 542 245 933 567 165 447 926 883 463 559 896\n",
      "  32 848 973 981 610 278 664 411 512 174  63 198 126 934 955 448 612  27\n",
      " 421 629 799 678 792 189  33 111 151 438  90  39 975 110  22 123 643 622\n",
      " 783 734 358 725 891 219 319 545 680 400 572 213 592 217 332 517 186 514\n",
      "  24 216 641 875  96 468 791 437 495 753 308 605 850 601 162 976 149 551\n",
      " 634  42 342 486 496 884 236 357 816 980 951 940 184 456  54  83 775 871\n",
      " 913 819 972 739 735 146 858 906 685 231 723 966 553 768 585 370 569 822\n",
      " 218 474 895  14 155 361 334 441 175  72 475 679 754 854 602  31 814 147\n",
      "  81 804 552 625  77 954 660 730 755 936 386 455 246  80 226 801 284  95\n",
      " 208 590 793 521 525 274 277 977 897 655  66  43 727 538 322 733 502 778\n",
      " 235 948 384 862 856 507 300  61 889 374 382 489 122 898 353  65 359 803\n",
      " 967 176 825 129 867  53  55 339 615  40 221 253 244 802 376 197 142 796\n",
      " 173 953  47 724  56  60 212 497 445 644 316 241 348 100 229 943 745  76\n",
      " 596  92 594 766 550 249 304 636 853 962 206 807   7 651 561 843 327 776\n",
      " 377  49  87 719 328 696 205 837 881 672 494 230 788 693 761 702 720 885\n",
      " 371 757 908 937 631 135 686 520 869 684 179 290 669 138 118 582 223 498\n",
      " 823 493 228 399 868 969 387  52 978 603 866 893 562 307 833 527 272  99\n",
      " 705 736   4 193 815 504 544 750  45  28 583  46 422 600 292 281 624 888\n",
      "  16 842 532 302 112 695 971 983 529 187 530 577 774 877 887  82 255 865\n",
      " 690 397 114 349 777 808 965 642 160 974 424 152 827  97 952 467 712 350]\n",
      "{1: 3}\n",
      "分类器的分类结果:1,真实的类别是:1\n",
      "[[-0.16226047  0.17566904 -0.08717092]\n",
      " [-0.30505188 -0.04720505 -0.58149769]\n",
      " [ 0.32718329  0.12060342 -0.02622818]\n",
      " ...\n",
      " [ 0.09703855 -0.15544088 -0.10765651]\n",
      " [-0.13891293 -0.08299245 -0.02586639]\n",
      " [-0.09120989 -0.02314704 -0.38257963]]\n",
      "[[0.02632846 0.03085961 0.00759877]\n",
      " [0.09305665 0.00222832 0.33813956]\n",
      " [0.1070489  0.01454518 0.00068792]\n",
      " ...\n",
      " [0.00941648 0.02416187 0.01158993]\n",
      " [0.0192968  0.00688775 0.00066907]\n",
      " [0.00831924 0.00053579 0.14636717]]\n",
      "distances: [0.25453259 0.65834985 0.34968844 0.21767895 0.63021302 0.40266487\n",
      " 0.44714387 0.55674403 0.53248131 0.40292074 0.37582094 0.22979314\n",
      " 0.17470034 0.30473885 0.65363956 0.24319026 0.74841575 0.14670719\n",
      " 0.4268652  0.44520663 0.24395965 0.53328424 0.4487326  0.44466073\n",
      " 0.29667998 0.46783543 0.41886813 0.41138854 0.40100556 0.2491194\n",
      " 0.28756632 0.51199997 0.29989536 0.29529207 0.32505945 0.20304507\n",
      " 0.39190465 0.26181311 0.24088729 0.46242111 0.59995265 0.47574634\n",
      " 0.59931116 0.43252488 0.36076067 0.48767025 0.6852868  0.33789906\n",
      " 0.44830611 0.51632048 0.28281854 0.30665311 0.69043105 0.38671366\n",
      " 0.51462995 0.42858463 0.34514246 0.33126817 0.29964518 0.36787633\n",
      " 0.59247144 0.54068415 0.41432886 0.35511123 0.23931621 0.37363121\n",
      " 0.63890016 0.44195047 0.14470754 0.12445559 0.32764401 0.39153502\n",
      " 0.52629526 0.60518231 0.15668162 0.42636923 0.38756653 0.46127003\n",
      " 0.43341457 0.43420725 0.41890527 0.47608997 0.647051   0.32975873\n",
      " 0.57938996 0.58264541 0.18957976 0.43309852 0.34738695 0.14793074\n",
      " 0.34568322 0.39714409 0.42769668 0.27068459 0.21318144 0.39592666\n",
      " 0.33481965 0.6742826  0.54704808 0.49908134 0.44955796 0.3259955\n",
      " 0.18845595 0.21919102 0.44131595 0.33383192 0.39054943 0.34097462\n",
      " 0.37762688 0.1426956  0.52953688 0.55997121 0.53621274 0.40011335\n",
      " 0.57633607 0.59763612 0.3145671  0.23888151 0.3998588  0.42725581\n",
      " 0.13927204 0.44977311 0.45460345 0.56215264 0.54360043 0.3282998\n",
      " 0.42461053 0.31813271 0.44804473 0.31719156 0.22369518 0.29030572\n",
      " 0.16566764 0.3512025  0.43305961 0.44063017 0.35980697 0.31139649\n",
      " 0.55945362 0.23148298 0.38097554 0.45163155 0.48059575 0.34623579\n",
      " 0.04260974 0.3301061  0.49556133 0.42167654 0.40590884 0.50628549\n",
      " 0.28231149 0.34944601 0.64407451 0.26792147 0.43887727 0.33394362\n",
      " 0.47800277 0.11211911 0.61008453 0.29814182 0.47628598 0.40214572\n",
      " 0.30077797 0.650773   0.5464858  0.60323124 0.19172466 0.48569962\n",
      " 0.32554829 0.37594203 0.13994677 0.57426996 0.28148261 0.32956471\n",
      " 0.5124407  0.49868517 0.60507353 0.33823753 0.40037441 0.55307398\n",
      " 0.51581743 0.2177745  0.10287571 0.3290949  0.50220408 0.41312778\n",
      " 0.48474776 0.59442851 0.31639221 0.43756231 0.45163917 0.46270796\n",
      " 0.52463539 0.51388222 0.34338034 0.50365047 0.22679955 0.61345395\n",
      " 0.31451204 0.42278382 0.2906601  0.46425292 0.44422532 0.22074029\n",
      " 0.2974701  0.5260679  0.43406548 0.58589047 0.63708209 0.30406192\n",
      " 0.40521847 0.46411213 0.47266671 0.3918138  0.3337722  0.48097655\n",
      " 0.32162147 0.6728261  0.4153114  0.3643617  0.3972965  0.4014326\n",
      " 0.51295255 0.38323225 0.25222341 0.40677196 0.55798512 0.33952478\n",
      " 0.47745543 0.41372972 0.70460078 0.45717076 0.40262835 0.22530634\n",
      " 0.22919688 0.57739781 0.58003593 0.35988782 0.16155146 0.28827843\n",
      " 0.43148222 0.61434573 0.44357528 0.34042585 0.52361163 0.46834931\n",
      " 0.63363712 0.26263687 0.48316503 0.51174643 0.39417598 0.4811533\n",
      " 0.41979822 0.323724   0.20420282 0.71286618 0.33231171 0.44876804\n",
      " 0.48875724 0.39170841 0.51054632 0.28962471 0.50571156 0.40672532\n",
      " 0.43430313 0.27000658 0.69169437 0.43718424 0.44566206 0.45101647\n",
      " 0.09862359 0.30348623 0.46523196 0.35726507 0.57798811 0.30099464\n",
      " 0.21031561 0.31861531 0.48559754 0.59632524 0.48944939 0.58848924\n",
      " 0.3911042  0.37707055 0.73860316 0.22758357 0.21104162 0.54767343\n",
      " 0.17236838 0.23501999 0.62971509 0.20523999 0.63542394 0.30346923\n",
      " 0.20567293 0.21105609 0.41497789 0.55997573 0.26709764 0.44305304\n",
      " 0.31435563 0.13034054 0.61730912 0.34111778 0.59922796 0.30799873\n",
      " 0.16136194 0.4235929  0.34806516 0.20373852 0.15021063 0.43782019\n",
      " 0.10489868 0.60545507 0.5996097  0.5120476  0.59053873 0.19837708\n",
      " 0.36614982 0.58349916 0.34030364 0.45123573 0.38139082 0.48328353\n",
      " 0.18974113 0.43562991 0.4878509  0.5530702  0.44214562 0.5465196\n",
      " 0.28746036 0.61901305 0.53469577 0.25159865 0.40760683 0.43412742\n",
      " 0.41232575 0.38683634 0.35201454 0.45644364 0.32471984 0.22905468\n",
      " 0.53458677 0.53043799 0.44498563 0.6141932  0.53689548 0.39144767\n",
      " 0.59108957 0.48197247 0.89028192 0.32178065 0.13201436 0.4696526\n",
      " 0.31433612 0.1625152  0.1848699  0.31124035 0.28837459 0.65835351\n",
      " 0.24610847 0.56903713 0.41257536 0.56921231 0.48912193 0.41971799\n",
      " 0.30559382 0.09384817 0.3908427  0.42254775 0.54172308 0.53634063\n",
      " 0.41832692 0.24465744 0.5917771  0.32368678 0.36140416 0.67499666\n",
      " 0.45310186 0.33166031 0.43130592 0.48137917 0.67305906 0.38789766\n",
      " 0.3297104  0.44320392 0.42254242 0.62615774 0.5619853  0.33753136\n",
      " 0.5677004  0.20785378 0.21247465 0.37736321 0.21393684 0.50884761\n",
      " 0.28558607 0.59971569 0.30389344 0.40242287 0.50718993 0.42285134\n",
      " 0.42975947 0.48724197 0.21840161 0.48161825 0.33466377 0.28685399\n",
      " 0.13847841 0.34643976 0.48262584 0.60169111 0.46251732 0.37540053\n",
      " 0.4783119  0.49767009 0.49630468 0.27673657 0.40809259 0.50814011\n",
      " 0.43956049 0.38155661 0.46466571 0.14314489 0.82737097 0.55754234\n",
      " 0.41210441 0.08128338 0.50425655 0.17079879 0.44746673 0.28384037\n",
      " 0.19464749 0.57955841 0.51585436 0.35782384 0.25153009 0.56631603\n",
      " 0.32178592 0.2183924  0.4370729  0.58259089 0.36512772 0.25531142\n",
      " 0.36445736 0.67588266 0.21451982 0.43081334 0.47000675 0.21357383\n",
      " 0.50741946 0.19961152 0.37722018 0.59818797 0.51566405 0.40058827\n",
      " 0.39832111 0.35784367 0.16583793 0.52905255 0.1552449  0.10733903\n",
      " 0.16381494 0.29639263 0.3162644  0.17892149 0.54328998 0.54356339\n",
      " 0.50796359 0.34874239 0.37728848 0.38460593 0.63225422 0.62341218\n",
      " 0.56177829 0.33249603 0.20800238 0.38583995 0.33375587 0.32192272\n",
      " 0.40656023 0.58868849 0.3770638  0.46093796 0.39098488 0.37810372\n",
      " 0.39712767 0.41225731 0.52934271 0.58871603 0.12719738 0.28046644\n",
      " 0.30219896 0.70000566 0.41598583 0.48075485 0.37208063 0.47781154\n",
      " 0.58357582 0.31413516 0.55669985 0.30689732 0.36983609 0.25018826\n",
      " 0.64616265 0.56221293 0.43430882 0.58789655 0.30148567 0.58427431\n",
      " 0.49728397 0.3769828  0.39408261 0.35441835 0.61246023 0.49536708\n",
      " 0.42736706 0.48093801 0.51793663 0.32533882 0.54446132 0.49657251\n",
      " 0.46001685 0.36501207 0.34373215 0.70533563 0.52378033 0.44914918\n",
      " 0.15899627 0.49153679 0.76199554 0.53538969 0.65012508 0.43801205\n",
      " 0.36008779 0.39511404 0.67849337 0.12458529 0.41115698 0.31474953\n",
      " 0.24036276 0.2600734  0.47759926 0.24337403 0.60405218 0.47550302\n",
      " 0.46551635 0.50620207 0.32379346 0.65560415 0.62490925 0.52497417\n",
      " 0.33044564 0.4286414  0.47016977 0.43826501 0.24732424 0.42591637\n",
      " 0.45985149 0.55344321 0.32896532 0.44909802 0.67725157 0.50559976\n",
      " 0.23887313 0.29375154 0.37266462 0.25096672 0.57139257 0.53216629\n",
      " 0.31325386 0.39672328 0.33730609 0.09580744 0.24629933 0.17919621\n",
      " 0.54242578 0.60292838 0.26075985 0.23536342 0.26022605 0.35244051\n",
      " 0.61245307 0.66285481 0.32180109 0.37840319 0.69021897 0.46531616\n",
      " 0.42687622 0.48876    0.60615883 0.28966048 0.35611375 0.45158094\n",
      " 0.4740508  0.34623862 0.39183581 0.5260878  0.51482159 0.15378657\n",
      " 0.78817473 0.29344015 0.50006978 0.55646779 0.32630423 0.61710511\n",
      " 0.395707   0.43082776 0.43108848 0.20125299 0.48457943 0.42019247\n",
      " 0.30686616 0.50829903 0.31113865 0.42768382 0.11873109 0.49822119\n",
      " 0.52582725 0.26161012 0.45624493 0.14231059 0.58071945 0.63568172\n",
      " 0.62385261 0.66416466 0.49215638 0.18671626 0.31615685 0.33705353\n",
      " 0.41795366 0.52031105 0.24219722 0.57834056 0.46766661 0.3530259\n",
      " 0.37549862 0.60829641 0.30931466 0.16743885 0.57778953 0.55670896\n",
      " 0.48555115 0.55809003 0.41982304 0.57500312 0.29969434 0.45969086\n",
      " 0.47852038 0.14348563 0.26327934 0.70780434 0.21481752 0.59139289\n",
      " 0.47398388 0.6141687  0.34574838 0.51961338 0.3161467  0.32703492\n",
      " 0.51679974 0.40525695 0.30015227 0.57154143 0.47424621 0.43825936\n",
      " 0.38877536 0.36988675 0.28473575 0.51194172 0.22358563 0.34122491\n",
      " 0.55461943 0.5149997  0.66451323 0.4725779  0.15722741 0.27839894\n",
      " 0.52424486 0.67396403 0.52898103 0.38916586 0.26473369 0.43110996\n",
      " 0.65471133 0.4927556  0.62184754 0.32194754 0.25826828 0.44303635\n",
      " 0.5200722  0.19343321 0.34465672 0.40690849 0.53668359 0.53745868\n",
      " 0.36804107 0.26177042 0.39642344 0.32429268 0.49010139 0.27033113\n",
      " 0.48132719 0.4175568  0.54275    0.41775429 0.4350264  0.47220166\n",
      " 0.55599417 0.49476036 0.42014772 0.42049328 0.82891365 0.12741525\n",
      " 0.52269663 0.43470152 0.50827222 0.5416111  0.26212952 0.75749188\n",
      " 0.64466162 0.25761581 0.38423708 0.46946012 0.46833839 0.46279196\n",
      " 0.53885671 0.5324187  0.15355768 0.43574338 0.42804651 0.26909379\n",
      " 0.3593595  0.59111975 0.32009764 0.57475453 0.44207619 0.34181358\n",
      " 0.44464652 0.34447944 0.43071446 0.30640435 0.2527861  0.2499499\n",
      " 0.45909878 0.64812226 0.22171333 0.34311043 0.46943472 0.1271399\n",
      " 0.43402648 0.28502161 0.51046221 0.5634185  0.32440986 0.49610316\n",
      " 0.11102642 0.47050725 0.12321355 0.43019059 0.6399635  0.49914926\n",
      " 0.52125044 0.35928396 0.3668684  0.29695719 0.39787446 0.38915669\n",
      " 0.43331907 0.38523579 0.4386168  0.53079727 0.41664329 0.49736694\n",
      " 0.63028148 0.3368597  0.46541536 0.58308819 0.56673698 0.63102563\n",
      " 0.50155173 0.35096096 0.49013625 0.48519062 0.43205905 0.52510984\n",
      " 0.4954789  0.4603057  0.45108347 0.41041709 0.32757551 0.37750553\n",
      " 0.54463819 0.54294779 0.39437613 0.14183277 0.59669621 0.35075511\n",
      " 0.22038686 0.42716381 0.27310053 0.60301548 0.36682836 0.55745861\n",
      " 0.44511354 0.6805446  0.48429343 0.54009002 0.81314106 0.2576158\n",
      " 0.50842334 0.23193192 0.62596218 0.24094733 0.34718305 0.40287512\n",
      " 0.57493404 0.52838268 0.49972954 0.31401232 0.19856178 0.12246342\n",
      " 0.33170527 0.61760928 0.36952902 0.52391507 0.50258111 0.68667598\n",
      " 0.37004648 0.22146751 0.27314473 0.30421349 0.43369739 0.5778253\n",
      " 0.42080204 0.33299721 0.42181977 0.43617482 0.36157285 0.18274304\n",
      " 0.43502565 0.47322829 0.48189769 0.64956378 0.29234711 0.37246056\n",
      " 0.38097411 0.47607831 0.54623023 0.56564346 0.45327158 0.43826263\n",
      " 0.37520028 0.61209897 0.37150763 0.14164431 0.53264727 0.56162337\n",
      " 0.39144545 0.63510392 0.37190228 0.30776354 0.40739286 0.52356862\n",
      " 0.40666411 0.65626565 0.55037512 0.42698021 0.55820032 0.53472407\n",
      " 0.29547205 0.38589402 0.15017905 0.25778458 0.23585344 0.29997893\n",
      " 0.50216598 0.6368536  0.17827527 0.4726646  0.43789225 0.55616608\n",
      " 0.54201105 0.46582854 0.33861456 0.60841528 0.5820807  0.46394658\n",
      " 0.44429424 0.47897067 0.26315532 0.52429567 0.58712772 0.5561391\n",
      " 0.34379878 0.61687749 0.66759922 0.62341531 0.55440098 0.29590585\n",
      " 0.49774447 0.54220164 0.37961408 0.17297077 0.25154561 0.20331117\n",
      " 0.51085053 0.27668246 0.40279863 0.42568081 0.39222943 0.50796112\n",
      " 0.40487494 0.42590901 0.43511361 0.39372666 0.2278751  0.30782509\n",
      " 0.44529066 0.53146017 0.42312238 0.33677332 0.24875461 0.30006565\n",
      " 0.19498369 0.36840943 0.4845306  0.50193845 0.27876974 0.28190862\n",
      " 0.37101265 0.44611758 0.43714639 0.68206768 0.54532125 0.36220777\n",
      " 0.43773846 0.62966581 0.32867173 0.29240251 0.31205083 0.52006499\n",
      " 0.56590431 0.69824248 0.1334725  0.50869846 0.56461493 0.45194735\n",
      " 0.38823556 0.60912046 0.42945171 0.58311071 0.67600886 0.45462195\n",
      " 0.59832666 0.49639891 0.47298473 0.27208317 0.37511274 0.\n",
      " 0.51454625 0.34670035 0.50771196 0.40432872 0.39834314 0.61263732\n",
      " 0.62855169 0.35216246 0.34539046 0.56337736 0.43018828 0.58856684\n",
      " 0.4025348  0.29481936 0.55716187 0.61466289 0.40315609 0.5869495\n",
      " 0.50549242 0.23129165 0.34291239 0.38860287 0.32425791 0.42186485\n",
      " 0.35087378 0.32878334 0.38634268 0.21252829 0.16387074 0.39398249]\n",
      "sortedDistIndicies [959 144 427 367 573 270 182 312 461 756 157 616 821 758  69 537 749 490\n",
      " 713 301 352 944 408 120 170 855 795 621 109 423 649  68  17  89 872 310\n",
      " 728 599 460  74 676 528 306 238 355 462 988 132 458 639 429 288 903  12\n",
      " 878 465 575 839 356 627 102  86 324 166 691 432 924 317 820 451 609  35\n",
      " 905 309 254 291 294 391 476 276 286 295 392 987  94 449 394 446 652   3\n",
      " 181 439 404 103 798 203 829 746 670 130 233 196 285 916 341 234  11 979\n",
      " 139 811 289 579 874 564 117  64 540  38 813 632  15 543  20 373 360 574\n",
      " 556 922  29 743 503 567 436 904 333 224 742   0 443 809 721 873 688 541\n",
      " 580 578 619 697  37 718 247 890 650 682 298 153 731 265 701  93 957 800\n",
      " 830 907 417 677 928 491 172 929 150  50 431 668 751 396 407 330  30 239\n",
      " 358 261 591 131 200 844 939 601 565 973  33 870 899 463  24 765 204 159\n",
      "  58 646  32 875 923 662 162 275 508 492 293 271 398 209 831  13 366 741\n",
      "  51 612 501 861 917 305 638 614 357 137 940 570 819 499 354 300 198 116\n",
      " 539 658 628 464 188 129 127 277 734 216 351 438 584 479 687 375 253 548\n",
      " 982 699 754 340  34 519 168 101 604 659 790  70 125 938 985 560 183 173\n",
      " 384  83 145 552  57 379 822 256 475 835 478 214 105 155 406  96 921 775\n",
      " 629 572 389  47 177 884 227 320 243 107 303 671 737 980 747 194 524 894\n",
      " 739 692  56 968  90 656 143 595 409 961 814  88 308 469 151   2 797 984\n",
      " 781 133 338 967 581 635 513  63 592 273 435 457 763 732 136 237 534  44\n",
      " 376 838 935 219 444 523 442 318 802 764  59 696 925 824 502 667 828 930\n",
      " 854 860 496 845 566  65 958 852 413 636  10 169 511 482 283 452 470 393\n",
      " 791 108 485 585 902 846 140 322 421 223 722 471 769 477 871 986  53 337\n",
      "  76 383 948 981 666 767 681 106 368 484 282 858 347  71 259 213 596  36\n",
      " 910 915 989 512 250 794 535 606  95 698 571 486  91 220 766 456 964 118\n",
      " 113 178 455  28 221 161 399 972 232   5 908 815   9 976 963 912 210 661\n",
      " 148 480 864 263 225 693 862 334 418 789 538  27 426 487 336 362 185 229\n",
      "  62 296 218 494 772 703 705 630 372  26  80 365 252 644 710 611 711 834\n",
      " 147 836 983 386 369 199 401 920 307 126 909 913 557  75  18 588 867 799\n",
      " 119 516 615  92 730  55 553 950 402 970 759 740 447 607 608 683 380 240\n",
      " 784  43 134  87 768  78 832 750 206 335  79 264 506 715 840 706 914 325\n",
      " 729 837 440 932 267 189 936 311 880 533 665 851 555 770 154 420 135 104\n",
      "  67 736 328 689 299 385 242 202 888 738  23 344 804  19 918 268 931   6\n",
      " 430 128  48  22 257 561 527 100 121 269 788 321 593 141 190 947 378 850\n",
      " 122 953 620 339 231 744 647 558 522 787 483  77  39 412 191 725 887 211\n",
      " 201 422 272 587 776 546 883 634  25 724 245 748 723 353 448 554 757 707\n",
      " 675 879 212 956 841 654 594 664 545  41 847  81 160 228 542 497 156 414\n",
      " 648 889 142 495 517 215 251 702 381 405 842 349 410 248 323 806 926 610\n",
      " 186 783 642 278 167 403  45 326 258 589 364 280 700 782 529 626 685 709\n",
      " 515 786 146 755 416 955 521 510 773 415 900 617 175  99 761 818 602 780\n",
      " 927 876 184 826 195 428 978 563 262 547 149 400 450 962 911 468 419 716\n",
      " 613 810 945 395 752 260 906 249 669  31 315 174 222 193 960  54 598 673\n",
      " 454 180 434  49 660 518 657 941 690 631 762 714 863 244 526 825 678 891\n",
      " 192 551 785 618 205 597  72 817 680 459 488 110 343 771 919 569 727   8\n",
      " 856  21 342 332 869 531 112 371 694 346 695 726 807  61 717 370 882 901\n",
      " 576 704 793 466 467 124 520 792 934 848 164 329  98 287 866 327 179 559\n",
      " 898 672 708 893 881 603 500 641   7 974 803 425 226 643 868 138 111 297\n",
      " 857 474 388 123 505 969 753 946 849 942 437 778 390 361 363 568 663 171\n",
      " 735 816 645 114 235 640 833 274 633  84 433 236 622 886 441  85 777 951\n",
      " 319 498 509 207 977 892 507 281 971 481 489 316 348 733 653 374  60 187\n",
      " 279 796 115 453 954 304  42 314 397  40 411 577 801 165 544 176  73 313\n",
      " 590 637 885 949 158 853 582 514 965 197 655 345 241 975 895 605 302 823\n",
      " 331 686 473 897 624 550 812 387 966 937 290   4 774 779 472 246 859 292\n",
      " 623 877 208  66 760 152 720 504  82 745 843 532 163  14 684 549 865   1\n",
      " 359 583 625 674 896 217 382 679  97 377 445 952 562 536 805 933  46 827\n",
      " 586  52 266 943 493 230 525 651 255 284  16 719 530 600 808 424 712 350]\n",
      "{3: 3}\n",
      "分类器的分类结果:3,真实的类别是:3\n",
      "[[-0.48044876 -0.17799301 -0.37917598]\n",
      " [-0.62324017 -0.40086711 -0.87350275]\n",
      " [ 0.00899499 -0.23305864 -0.31823325]\n",
      " ...\n",
      " [-0.22114974 -0.50910294 -0.39966158]\n",
      " [-0.45710122 -0.43665451 -0.31787146]\n",
      " [-0.40939818 -0.3768091  -0.6745847 ]]\n",
      "[[2.30831014e-01 3.16815134e-02 1.43774427e-01]\n",
      " [3.88428309e-01 1.60694441e-01 7.63007061e-01]\n",
      " [8.09098998e-05 5.43163291e-02 1.01272399e-01]\n",
      " ...\n",
      " [4.89072064e-02 2.59185800e-01 1.59729381e-01]\n",
      " [2.08941529e-01 1.90667157e-01 1.01042263e-01]\n",
      " [1.67606869e-01 1.41985095e-01 4.55064512e-01]]\n",
      "distances: [0.63740643 1.14548235 0.39454992 0.59635023 1.07084099 0.41834585\n",
      " 0.94760227 0.97253772 0.63423559 0.86329105 0.41015154 0.5318429\n",
      " 0.40734771 0.39942518 0.90546587 0.7343988  0.8658199  0.62318275\n",
      " 0.27389223 0.68684019 0.77405553 0.79815896 0.79872411 0.68866357\n",
      " 0.58023214 0.99770964 0.8004535  0.25754117 0.73794052 0.73277857\n",
      " 0.6608281  0.12887064 0.47032697 0.53345599 0.67731265 0.53045149\n",
      " 0.37397397 0.57768175 0.55810815 0.61655525 0.89181032 0.99976275\n",
      " 1.07341962 0.15811721 0.24473864 0.23971067 0.88294376 0.52020418\n",
      " 0.8549864  0.12997806 0.67449176 0.35595685 0.875961   0.65804088\n",
      " 0.78029588 0.63194515 0.64464664 0.47486882 0.82154045 0.89991261\n",
      " 0.70470699 0.98646352 0.26806375 0.22996895 0.71403494 0.46922677\n",
      " 1.1910083  0.5856668  0.59903947 0.64277189 0.81476503 0.41935917\n",
      " 0.98063873 0.9904315  0.61508853 0.91211712 0.35434387 0.33973893\n",
      " 0.96131617 0.59540781 0.60682557 0.80151111 1.12667352 0.48875935\n",
      " 1.08422268 1.03700215 0.59526757 0.34155373 0.53265567 0.6013583\n",
      " 0.66874715 0.81248888 0.22731256 0.72545597 0.6622152  0.32447337\n",
      " 0.70354239 1.06706326 1.08494006 0.21780605 0.74865853 0.44815262\n",
      " 0.59171702 0.67414625 0.73317465 0.51561641 0.90286945 0.28437551\n",
      " 0.6997258  0.58237821 0.58730313 1.04434329 0.17504238 0.44610768\n",
      " 0.13067285 0.88932906 0.78704192 0.736221   0.54863463 0.8288797\n",
      " 0.53387463 0.21327997 0.5882688  0.99629116 0.76506681 0.83537807\n",
      " 0.8321624  0.77524035 0.61566782 0.66444785 0.40484809 0.6036877\n",
      " 0.40296788 0.82977876 0.6807264  0.77982919 0.8960647  0.59810128\n",
      " 0.0694154  0.58201309 0.51536724 0.15107029 0.95934538 0.86610737\n",
      " 0.5261632  0.7627236  0.1249379  0.28134514 0.60849283 0.76776205\n",
      " 0.80379161 0.31456731 0.97472663 0.72616884 0.78262537 0.39658785\n",
      " 0.88035449 0.64204283 0.87838483 0.32178949 0.59644858 0.30959307\n",
      " 0.70625624 1.06923249 1.03517726 0.95832454 0.62493669 0.58465655\n",
      " 0.87956593 0.40186871 0.59806113 0.72060204 0.64403649 0.6125333\n",
      " 0.56519595 0.73137054 0.97731512 0.23469101 0.90308355 0.8405941\n",
      " 0.83742901 0.56504523 0.64203985 0.7414791  0.8601992  0.36502722\n",
      " 0.11748141 0.05916309 0.69485171 0.14978542 0.7782366  0.70525968\n",
      " 0.62148436 0.17336527 0.89018846 0.79326845 0.74066964 1.11218833\n",
      " 0.30830246 0.39426752 0.55508162 0.73944855 0.60538306 0.50404524\n",
      " 0.82820093 0.95201141 0.7053706  1.04752552 0.80845701 0.41199973\n",
      " 0.8483316  0.80779629 0.13498883 0.70179133 0.34180994 0.96934604\n",
      " 0.56993623 1.18388768 0.61058385 0.23541553 0.27237099 0.67857956\n",
      " 1.06744331 0.66621575 0.32210722 0.59697123 0.76002251 0.85577403\n",
      " 0.20799193 0.27374645 1.25969114 0.92932366 0.74266209 0.58898156\n",
      " 0.5301885  0.93878332 0.94902316 0.61534774 0.6690356  0.46170137\n",
      " 0.57410187 1.13227676 0.88641655 0.5009573  0.94542288 0.26915392\n",
      " 0.72906867 0.45307424 0.77506563 0.05710201 0.73955382 0.9823787\n",
      " 0.46100871 0.55921748 0.65454827 0.87286519 0.63301261 0.80222268\n",
      " 0.83757687 0.44357887 0.54397599 0.71957757 0.90777883 0.91967806\n",
      " 0.86669659 0.52008664 1.16356978 0.71635337 0.51656411 0.54385209\n",
      " 0.46052571 0.40354413 0.3162698  0.5061866  1.07470381 0.6419553\n",
      " 0.62384598 0.44009034 0.94268516 1.00310465 0.87690555 0.08140688\n",
      " 0.83155629 0.60450343 1.26422516 0.46384974 0.71764475 1.09428254\n",
      " 0.69617768 0.37945601 0.8441423  0.45069168 1.0997682  0.77483207\n",
      " 0.64560788 0.35738316 0.65533306 0.89481664 0.45959353 0.31871792\n",
      " 0.67501204 0.49533788 1.06900122 0.37804486 0.90267172 0.35909594\n",
      " 0.677333   0.6877168  0.57769982 0.39048999 0.5875376  0.48193033\n",
      " 0.65592867 1.06850812 0.98699878 1.03154124 1.04536802 0.72597977\n",
      " 0.52468189 1.01811795 0.26424432 0.71826335 0.54718529 0.73756148\n",
      " 0.73006142 0.23469058 0.80633608 0.12915351 0.21972215 0.91525952\n",
      " 0.45883542 0.89456791 0.8651092  0.66780015 0.57555294 0.18275058\n",
      " 0.22528935 0.91487056 0.58974974 0.14482051 0.6149641  0.58610863\n",
      " 0.85976287 0.64604588 0.53861571 1.12563443 0.74418352 0.69048074\n",
      " 1.01638054 0.37399541 1.39177257 0.43793003 0.59326438 0.15403148\n",
      " 0.64089506 0.44237765 0.62537728 0.60663365 0.73312479 0.77247932\n",
      " 0.59798605 0.82215566 0.94009183 0.88627284 1.02057352 0.92985444\n",
      " 0.81477618 0.57835188 0.3096926  0.25903239 0.87225277 0.05438026\n",
      " 0.80089461 0.52607698 0.63740123 0.70661493 0.62654073 0.76190204\n",
      " 0.99208179 0.70517387 0.80483784 0.58032557 1.18636673 0.86913786\n",
      " 0.69839159 0.94179862 0.16777315 1.11408928 0.85761294 0.40906514\n",
      " 1.09571792 0.61978592 0.51795651 0.59848507 0.5804975  0.56782483\n",
      " 0.75808547 0.06607031 0.67075275 0.40464941 0.56150292 0.49681457\n",
      " 0.92445477 0.32940504 0.72585929 0.83249308 0.58071776 0.37765389\n",
      " 0.65925084 0.76233186 0.95503683 0.72126179 0.95084865 0.91501133\n",
      " 0.88070596 0.95703622 0.76902003 0.31344587 0.50976543 1.0435196\n",
      " 0.52660634 0.23857188 0.29277852 0.68056763 1.37987668 1.11322513\n",
      " 0.61831433 0.53066058 0.88533112 0.67310301 0.85481008 0.76543875\n",
      " 0.62155449 0.94188065 1.0527938  0.49617182 0.7066053  0.70582925\n",
      " 0.80779204 0.64263893 0.46487257 0.66027489 0.65436387 0.4936899\n",
      " 0.8240678  0.8444851  0.41847239 0.47419339 0.12279949 0.44482648\n",
      " 1.0079971  0.66144434 0.5981936  1.09344191 1.02065926 0.66531996\n",
      " 0.19479674 0.80124043 0.54892254 0.60748851 0.45580995 0.50115838\n",
      " 0.68438645 0.41178485 0.86813416 0.54511719 1.08928552 0.40453634\n",
      " 0.94148792 0.60349159 0.82911224 0.82552842 1.07494444 1.12471162\n",
      " 0.96419367 0.76945438 0.74737365 0.48589046 0.24821525 0.40129336\n",
      " 0.66210107 1.0659661  0.35732143 0.99924087 0.91969708 0.67732962\n",
      " 0.230191   0.8542488  1.03926236 0.86859292 0.53410611 0.38424676\n",
      " 0.70221431 0.87589721 0.29246506 0.12008043 0.59856203 0.14206828\n",
      " 0.95734303 0.70780338 0.65403496 0.6183843  0.39495479 0.62719133\n",
      " 0.86968909 0.91281424 0.77176611 0.58816056 0.772846   0.93471854\n",
      " 0.93132005 0.91924317 0.58348207 0.84005026 0.84003565 0.96893025\n",
      " 0.18956461 0.23631381 0.99888949 0.45163452 0.09638719 0.1722363\n",
      " 0.17857082 0.28212994 0.83431154 0.89279492 0.78980195 0.63526108\n",
      " 0.71459939 0.26033759 0.88548155 0.55290991 1.0980368  0.76666534\n",
      " 0.21734815 0.89536691 1.15282364 0.58934127 0.27433152 0.83883615\n",
      " 0.47677243 0.72440582 0.67183448 0.73359214 1.03049793 0.11618403\n",
      " 0.43574813 0.97070768 0.83968809 0.98155138 0.66610839 1.02849485\n",
      " 0.77099503 0.86346506 0.65299016 0.8722906  0.80058818 0.88399838\n",
      " 0.87259523 1.05915615 0.81043655 0.19270752 0.86341258 0.88747996\n",
      " 0.5945508  0.46632161 0.58613688 0.52933733 0.85675703 1.00288803\n",
      " 0.37013249 0.28600286 0.63971868 0.55856108 0.70462157 0.69607032\n",
      " 1.0227632  0.1069075  0.73715686 0.48708233 0.49280567 0.46069116\n",
      " 1.10944869 0.93849972 0.57013718 0.44689554 1.15419593 0.87175349\n",
      " 0.78545442 0.96257545 0.79213058 0.39856577 0.86457794 0.46393856\n",
      " 0.11991483 0.62370269 0.67725744 0.74823366 1.0058034  0.52833858\n",
      " 1.32707864 0.4236486  0.21817758 0.07342662 0.81192398 0.76762177\n",
      " 0.31914689 0.93424072 0.18781369 0.71813817 0.96326737 0.5506217\n",
      " 0.65890054 0.82749955 0.49415236 0.29102585 0.52274031 0.9743747\n",
      " 0.78674121 0.81415164 0.55076774 0.57373818 0.71783953 1.00456227\n",
      " 0.90684869 1.20208847 0.9541259  0.45891548 0.26479254 0.57052148\n",
      " 0.68126537 0.10764899 0.62779409 0.70436396 0.19272167 0.79068604\n",
      " 0.64460535 1.0894365  0.7858613  0.66678412 0.9986571  0.81547647\n",
      " 0.36142787 1.02862251 0.5870584  0.90196129 0.49850793 0.45300449\n",
      " 0.74207354 0.60268284 0.49371934 0.84810472 0.34702901 1.06092999\n",
      " 0.90384398 0.85494203 0.83427537 1.04033878 0.37044781 0.76963977\n",
      " 0.51380391 0.38560004 0.60827327 0.82915546 0.92590997 0.75543647\n",
      " 0.93048438 0.86188895 0.39797049 0.17540926 0.75540112 0.84591231\n",
      " 0.12191897 1.00138065 1.12867443 0.69530932 0.68605554 0.42639937\n",
      " 0.63639968 0.85448013 0.98057652 0.787603   0.74557232 0.53820642\n",
      " 0.82222773 0.97158634 0.87408424 0.26012538 0.69275726 0.55615498\n",
      " 0.24528554 0.74046859 0.25762986 0.84251966 0.89280006 0.16915108\n",
      " 0.48895971 0.70533377 0.71257596 0.43457242 0.7321012  0.53106716\n",
      " 0.15063571 0.88155789 0.59416549 0.41729202 0.91829648 0.5357752\n",
      " 1.0860806  0.54529516 0.85700425 0.47664399 1.38673644 0.59460795\n",
      " 0.98858022 0.9364751  0.75834156 0.9054889  0.75553664 1.29772663\n",
      " 0.80270499 0.70614636 0.86623941 0.53648662 0.11615084 0.23922456\n",
      " 0.89810345 0.78917731 0.44641657 0.17734995 0.63890136 0.78771451\n",
      " 0.39790754 0.72973819 0.3756379  0.93765778 0.63165003 0.44625875\n",
      " 0.92112264 0.68273234 0.29349959 0.37830251 0.76418822 0.78448043\n",
      " 0.76453751 0.87753895 0.77946793 0.36126564 0.79131304 0.50360409\n",
      " 0.63913863 0.78849221 0.8255658  0.73939561 0.41824809 0.12002413\n",
      " 0.54192207 0.19455217 0.66457862 0.93225751 1.11413586 0.70973248\n",
      " 0.8131644  0.82947901 0.27933487 0.4596524  0.72786887 0.75986442\n",
      " 0.45216894 0.59772501 0.71638939 0.96657217 0.41228762 0.81130648\n",
      " 1.09502433 0.47104739 0.16346582 0.09348467 0.85063652 0.94945856\n",
      " 0.49965345 0.2491534  0.76242392 0.91508617 0.83191433 0.95739831\n",
      " 0.93513941 0.947057   0.68087955 0.30556378 0.59596265 0.37809452\n",
      " 1.00790386 0.60663579 0.63376972 0.67500628 1.14509968 0.36287232\n",
      " 0.59403429 0.21984618 0.79952116 0.82836319 0.6104108  1.04270453\n",
      " 0.84940322 1.1605191  0.74983814 1.02679876 1.3649446  0.7782232\n",
      " 0.75482588 0.7766864  1.07441405 0.52402141 0.70744375 0.45369464\n",
      " 0.97365499 1.03159078 0.99138929 0.61539873 0.59469933 0.58297814\n",
      " 0.59947987 1.1094036  0.83791616 0.29832217 0.66930149 1.13513213\n",
      " 0.24328856 0.6137068  0.67248798 0.29460362 0.78439362 0.11227633\n",
      " 0.75724095 0.31549372 0.92069473 0.25377724 0.54930111 0.64318132\n",
      " 0.15215393 1.01824775 0.26255215 0.86101576 0.82632344 0.77467944\n",
      " 0.20174456 0.36217381 0.57918241 1.03118493 0.73246003 0.75640034\n",
      " 0.65007289 1.09676524 0.27377796 0.64192216 0.97345768 0.82221011\n",
      " 0.45262616 1.10641143 0.69615045 0.81239543 0.67448051 1.03000374\n",
      " 0.32615094 1.02387288 0.85573521 0.22333013 0.         0.05431134\n",
      " 0.49460769 0.57379167 0.60683629 0.75930067 0.64786667 0.55475875\n",
      " 0.91364366 0.97996325 0.65797891 0.43533756 0.86156299 0.85006491\n",
      " 0.8068733  0.54990029 0.31363921 1.00987365 0.70356258 0.36078608\n",
      " 0.39959358 0.98995435 0.49874268 0.69188156 0.98451378 0.10204086\n",
      " 0.26056267 1.1716956  1.18184576 0.82804156 1.09919898 0.44333157\n",
      " 0.67884107 0.67752273 0.82573561 0.46921666 0.63394662 0.73135595\n",
      " 0.95616715 0.71558195 0.380042   0.9062799  0.89866773 0.95169496\n",
      " 0.89559602 0.15584106 0.88905382 0.2997624  0.67462104 0.81965713\n",
      " 0.38643871 0.65986971 0.72761195 0.31205761 0.5741877  0.64666015\n",
      " 0.73166742 0.39627375 0.73146732 0.99277434 0.63184896 0.77130596\n",
      " 0.51779168 0.97743484 0.37245691 1.21365293 1.09782681 0.26543009\n",
      " 0.2252092  1.07767077 0.69560135 0.33948195 0.61057695 1.06131741\n",
      " 0.92229319 0.83878398 0.65834905 0.49077964 0.63948029 0.65770524\n",
      " 0.57522139 1.09773514 0.18097205 1.03346682 1.03174024 0.17880041\n",
      " 0.66979167 0.3970941  0.83044104 0.7942808  0.33922653 0.55820032\n",
      " 1.05232959 0.87091833 0.83681795 0.62148065 0.68871735 1.06256588\n",
      " 1.18329786 0.72549311 0.22134673 0.05167501 0.51725777 0.10941041\n",
      " 0.31562914 0.39126183 0.2342675  0.74096947 0.35219558 0.70935707\n",
      " 0.12116546 0.52208339 0.47219805 0.19666763 0.24495841 0.47916791\n",
      " 0.21595842 0.31219141 0.88088326 0.68397543 0.70756692 0.87444638]\n",
      "sortedDistIndicies [868 969 869 371 249 187 397 138 603 281 777 520 893 577 631 971 833 724\n",
      " 545 186 594 755 495 978 672 448 146  31 327  49 114 212 497 339 189 702\n",
      " 141 840 353 913  43 776 386 695 521 193 112 669 729 522 953 950 335 608\n",
      " 516 561 634 757 456 981 846 228 121 984 534  99 602 328 799 968 867 936\n",
      " 336  92  63 486 974 325 177 219 517 421 725  45 828  44 982 690 478 781\n",
      " 837  27 692 369 687 529 894 842 320 628 935  62 245 220 229 854  18 538\n",
      " 764 147 523 107 571 615 494 422 740 831 825 915 789 198 161 368 921 985\n",
      " 417 884 151 835 972 272 299 606 159 224  95 864 403 958 939  77  87 214\n",
      " 652 976  76  51 482 295 305 887 747 642 847 797 185 570 658 932  36 349\n",
      " 734 407 303 791 741 289 908 491 661 918 309 973 199   2 502 925 155 955\n",
      " 732 668 591  13 888 479 169 132 271 467 399 130  12 389  10 463 209 772\n",
      " 705 754   5 446  71 601 677 699 879 546 351 277 355 899 259 449 113 737\n",
      " 728 585 101 291 519 768 858 647 247 815 460 330 627 298 765 270 581 252\n",
      " 239 285 593 440 565 903  65  32 775 980 447  57 711 540 983 311 477 579\n",
      "  83 696 945 580 443 650 614 870 301 435 401 646 890 780 243 461 749 203\n",
      " 273 418 660 140 105 268 970 930 392 265  47 979 616 813 318 373 144 420\n",
      " 599 567 234  35 427 701  11  88  33 120 490 707 723 683 344 756 269 260\n",
      " 465 709 322 118 458 838 883 611 620 531 875 200 689  38 959 573 253 400\n",
      " 181 174 395 216 584 629 621 871 240 922 948 334  37 308 367 848  24 381\n",
      " 394 406 139 109 821 512 167  67 341 566 644 110 310 507 122 233 537 338\n",
      " 102 352 798 704 564 713 820  86  79 790   3 160 225 769 360 170 137 452\n",
      " 393 496  68 822  89 649 469 131 283 202 357 793  80 872 459 662 148 802\n",
      " 940 218 173 829 340  74 237 819 128  39 426 501 391 963 192 432  17 595\n",
      " 276 166 356 376 503 632 736 928  55 256 794 904   8 527 678 374   0 730\n",
      " 750 946 572 354 855 275 182 157 439  69 839 172 636  56 294 343 923 874\n",
      " 852 554 500 442 254 296 312 947 878  53 944 612 408 919 441  30 451 480\n",
      "  94 129 758 455 550 223 639 333  90 238 826 954 398 542 830 429 103 862\n",
      "  50 916 795 300 596  34 485 306 901 221 900 423 134 788 630 739 987 462\n",
      " 676  19 307  23 964 347 891 688 188 675 938 575 860 288 384 108 213 492\n",
      "  96 886 633 574  60 379 191 697 206 437 721 162 436 375 814 988 499 977\n",
      " 761 698  64 528 907 267 770 286 622 609 321 261 171 411 541  93 967 404\n",
      " 317 153 920 766 246 733 324 905 175 926 924 700 850  29 358 104 543  15\n",
      " 117 578 323  28 753 201 250 691 196 975 183 648 232 346 682 476 597 100\n",
      " 806 810 670 665 718 851 834 396 716 873 767 226 377 409 782 145 742 744\n",
      " 124 431 533 605 149 416 475 659 552 929 506 359 508  20 845 293 248 127\n",
      " 811 809 190 746 135  54 154 832 743 588 638 618 116 681 731 751 727 526\n",
      " 635 748 590 195 957  21  22 800  26 556 372 457  81 257 720 150 380 326\n",
      " 882 438 211 208 560 773 604 861  91 762 619  70 366 641 917  58 361 857\n",
      " 684 444 471 752 902 844 613 897 204 801 119 470 663 763 133 956 282 784\n",
      " 126 405 656 524 125 962 180 258 824 943 539 548 514 513 179 693 290 445\n",
      " 671 651 210 804 881 778 487 679 430 655  48 866 227 568 710 388 342 184\n",
      " 843 880 667   9 562 553 592 332  16 143 722 264 464 489 383 504 961 587\n",
      " 370 555 558 255 686 989 493  52 280 745 158 168 156 414 986 703  46 557\n",
      " 428 530 363 242 563 914 115 194  40 525 694 331 297 535 912 136 726 910\n",
      "  59 645 304 106 178 654  14 717 909 624 262  75 505 876 337 413 783 329\n",
      " 706 511 263 484 836 738 942 402 664 231 365 666 510 759 607 509 786 715\n",
      " 735 583 235 362 468 385 433 278 244 787   6 236 779 412 911 205 626 410\n",
      " 906 415 498 785 165 142  78 589 610 474 771 515 215 547 685   7 856 816\n",
      " 617 152 176 931 877 680  72 549 251 892  61 314 714 889  73 818 378 927\n",
      " 123  25 640 518 483  41 673 569 279 623 598 792 450 885 348 319 841 364\n",
      " 454 576 865 807 551 643 863 544 849 315 817 952 951 164  85 488 657 803\n",
      " 419 111 316 207 960 434 559 653 941 965 481  97 222 313 302 163   4  42\n",
      " 812 274 472 937  84  98 708 466 637 453 287 774 390 853 949 934 532 898\n",
      " 292 859 823 582 197 425 387 760 473 345  82 674 241 827 796   1 536 586\n",
      " 805 266 895 896 966 217 382  66 625 933 230 284 719 600 808 424 712 350]\n",
      "{2: 3}\n",
      "分类器的分类结果:2,真实的类别是:2\n",
      "[[-3.57729011e-01  1.98475536e-01 -3.56967612e-01]\n",
      " [-5.00520417e-01 -2.43985604e-02 -8.51294382e-01]\n",
      " [ 1.31714746e-01  1.43409912e-01 -2.96024873e-01]\n",
      " ...\n",
      " [-9.84299848e-02 -1.32634386e-01 -3.77453211e-01]\n",
      " [-3.34381471e-01 -6.01859551e-02 -2.95663085e-01]\n",
      " [-2.86678426e-01 -3.40545970e-04 -6.52376324e-01]]\n",
      "[[1.27970045e-01 3.93925383e-02 1.27425876e-01]\n",
      " [2.50520688e-01 5.95289749e-04 7.24702124e-01]\n",
      " [1.73487743e-02 2.05664029e-02 8.76307255e-02]\n",
      " ...\n",
      " [9.68846190e-03 1.75918802e-02 1.42470926e-01]\n",
      " [1.11810968e-01 3.62234919e-03 8.74166597e-02]\n",
      " [8.21845201e-02 1.15971558e-07 4.25594868e-01]]\n",
      "distances: [0.54294425 0.98783506 0.35432457 0.46145963 0.7474752  0.40494997\n",
      " 0.78009822 0.64695626 0.71188369 0.65950229 0.42570924 0.48099395\n",
      " 0.27770731 0.1390814  0.89478238 0.39295797 0.93285348 0.33616282\n",
      " 0.41259861 0.70766702 0.47937785 0.81206802 0.65832122 0.51686359\n",
      " 0.34483677 0.77721832 0.65756899 0.36701161 0.39061835 0.39364864\n",
      " 0.58792217 0.37940068 0.11625214 0.15874701 0.32220656 0.46098319\n",
      " 0.37887455 0.52300655 0.48345664 0.60009349 0.82468146 0.69195746\n",
      " 0.89568761 0.25903628 0.36342994 0.2043722  0.8768245  0.12621153\n",
      " 0.57937813 0.31722209 0.58768543 0.34386311 0.88942212 0.47066715\n",
      " 0.71000436 0.51828753 0.36880593 0.48084723 0.59737842 0.65712663\n",
      " 0.74130771 0.7934083  0.43803542 0.20359296 0.56578921 0.12662552\n",
      " 0.90847638 0.51993996 0.3695835  0.40921114 0.58488929 0.46825486\n",
      " 0.78303228 0.91054737 0.28940081 0.75504517 0.22622368 0.44314028\n",
      " 0.6995181  0.47328302 0.30523566 0.66657673 0.7861585  0.318588\n",
      " 0.90785539 0.88233764 0.35074386 0.13481689 0.54304559 0.43920649\n",
      " 0.31735652 0.69022405 0.17820347 0.53428876 0.31302439 0.31023168\n",
      " 0.33259939 0.878843   0.81866077 0.23372745 0.58437326 0.45407495\n",
      " 0.48064486 0.34445483 0.50777688 0.4404554  0.67643308 0.18906631\n",
      " 0.58900429 0.28966216 0.66115461 0.85345892 0.28182052 0.28692709\n",
      " 0.34090277 0.87174952 0.53218045 0.5504949  0.16783634 0.57011728\n",
      " 0.22655399 0.42472618 0.53891471 0.8435474  0.78323436 0.48823778\n",
      " 0.64767741 0.61040937 0.42908988 0.31593159 0.36364722 0.56213653\n",
      " 0.2021065  0.67493903 0.64339678 0.55717842 0.6458028  0.49475712\n",
      " 0.38991417 0.40003525 0.51674438 0.38574142 0.70089121 0.64552052\n",
      " 0.30551901 0.65068849 0.36090413 0.34604548 0.59967826 0.51806536\n",
      " 0.61458742 0.27442251 0.81492212 0.54694457 0.56037298 0.\n",
      " 0.63279877 0.43571088 0.89226624 0.32326146 0.22831825 0.44851065\n",
      " 0.32957376 0.97761371 0.87256037 0.87979234 0.29455701 0.64235036\n",
      " 0.6271     0.47121215 0.37105546 0.77586096 0.52842954 0.22282866\n",
      " 0.63812834 0.66615877 0.86049902 0.20072032 0.66652912 0.7290897\n",
      " 0.8048197  0.44322374 0.37803108 0.64533285 0.72596959 0.46944776\n",
      " 0.37670308 0.40607445 0.34608719 0.35027391 0.69668082 0.69996291\n",
      " 0.7010107  0.26503677 0.65575441 0.7669132  0.48803129 0.89962839\n",
      " 0.13356419 0.36706553 0.5323808  0.60966443 0.6421151  0.33353013\n",
      " 0.52414994 0.73976549 0.35167882 0.90131262 0.83976153 0.34118379\n",
      " 0.61280114 0.62771905 0.27030868 0.37422627 0.40150514 0.65978114\n",
      " 0.20412033 0.99525638 0.3123985  0.1686629  0.42989513 0.49950682\n",
      " 0.78575143 0.26981578 0.24295478 0.56156205 0.73955301 0.63247777\n",
      " 0.21530653 0.13332749 0.9918934  0.68842454 0.64419481 0.25732857\n",
      " 0.31948586 0.82171919 0.69003255 0.55147034 0.35504025 0.47517402\n",
      " 0.55452096 0.81921363 0.59330576 0.49111865 0.75569962 0.46350062\n",
      " 0.80637953 0.10099284 0.53586062 0.3592143  0.69441438 0.67907244\n",
      " 0.4963604  0.17070442 0.31143753 0.88886108 0.58099941 0.75494387\n",
      " 0.78337919 0.46278536 0.6460705  0.37095274 0.82920247 0.64189778\n",
      " 0.59967724 0.30459883 1.02440812 0.69264922 0.60248756 0.45529463\n",
      " 0.26743414 0.44814904 0.15819094 0.44997073 0.85936801 0.42883576\n",
      " 0.28521297 0.09694241 0.75089825 0.90540069 0.80880803 0.40103453\n",
      " 0.6402085  0.59639149 1.06056151 0.42174986 0.47197019 0.83795168\n",
      " 0.39839873 0.29738221 0.81767069 0.39230335 0.88478924 0.61317524\n",
      " 0.40949575 0.28785428 0.59176966 0.84880618 0.37705348 0.48173786\n",
      " 0.30135314 0.33205947 0.85131171 0.42763866 0.6413586  0.3772552\n",
      " 0.43215005 0.29990682 0.42118429 0.26742984 0.2836281  0.58087756\n",
      " 0.41940782 0.93923311 0.8916529  0.83437559 0.85552448 0.47945751\n",
      " 0.56997291 0.87103176 0.29904624 0.51604231 0.2084139  0.74500529\n",
      " 0.46289914 0.42947197 0.54633898 0.38941191 0.22075149 0.85892105\n",
      " 0.12363242 0.89487889 0.60655051 0.31799131 0.27840277 0.38496138\n",
      " 0.40699541 0.71455365 0.55642627 0.25526316 0.31306963 0.2213506\n",
      " 0.76399755 0.70934172 0.44435532 0.94310668 0.5778978  0.66505436\n",
      " 0.84804588 0.15144146 1.04937541 0.48106123 0.42419385 0.27614385\n",
      " 0.47213213 0.23333934 0.28557446 0.22244638 0.37726734 0.84283197\n",
      " 0.39153531 0.77844984 0.69865987 0.85740224 0.80756218 0.63695274\n",
      " 0.62680026 0.3309087  0.37577445 0.4221567  0.60092848 0.36102964\n",
      " 0.52767978 0.15340959 0.72236543 0.62030882 0.24058497 0.84094687\n",
      " 0.74530134 0.39950146 0.74161934 0.51315594 0.9836621  0.70321645\n",
      " 0.3974508  0.70710817 0.24813867 0.78729494 0.66603112 0.36606655\n",
      " 0.89101704 0.35018231 0.2184752  0.58666026 0.4964343  0.64777675\n",
      " 0.51036898 0.41420107 0.60113628 0.09025219 0.62313669 0.54326207\n",
      " 0.76344066 0.4330654  0.51472513 0.78793855 0.48949334 0.34967489\n",
      " 0.37012672 0.52512018 0.81624313 0.79115508 0.76663091 0.68077796\n",
      " 0.75869021 0.82428297 0.7569269  0.24276542 0.52290038 0.82616226\n",
      " 0.56671917 0.29626273 0.16279545 0.4497373  1.12007727 0.84739051\n",
      " 0.64898893 0.33441748 0.65882915 0.47065332 0.60655233 0.56417048\n",
      " 0.28797984 0.89493086 0.76096516 0.53895814 0.50023838 0.74089538\n",
      " 0.45373308 0.42967424 0.51304597 0.72952238 0.63572807 0.46315111\n",
      " 0.6510909  0.88139547 0.36991961 0.50754031 0.38118388 0.19306902\n",
      " 0.80441422 0.34433343 0.53268002 0.92758191 0.8089423  0.32569392\n",
      " 0.23866609 0.64118192 0.44010959 0.69146091 0.29716893 0.24093584\n",
      " 0.42643648 0.25393311 0.57201196 0.23703257 0.85325844 0.22111359\n",
      " 0.7643844  0.46989948 0.56801849 0.58710499 0.96450723 0.94296213\n",
      " 0.82014606 0.39751363 0.523395   0.27156144 0.24967135 0.31594598\n",
      " 0.66881166 0.92228214 0.36997325 0.7402287  0.6471603  0.61736893\n",
      " 0.28796647 0.63259624 0.8580739  0.80813108 0.23671705 0.20830575\n",
      " 0.59561529 0.90038168 0.168155   0.39369946 0.26919991 0.27429438\n",
      " 0.64178657 0.36679869 0.72729133 0.30277664 0.28989124 0.25653929\n",
      " 0.8312809  0.85002784 0.73300057 0.69923034 0.46856859 0.89685133\n",
      " 0.78234358 0.69152045 0.31444896 0.641968   0.8400673  0.73807308\n",
      " 0.38976348 0.45094493 0.71352525 0.42579679 0.41471346 0.33347085\n",
      " 0.41148576 0.3994491  0.60192494 0.93685183 0.77743696 0.27999812\n",
      " 0.46262221 0.20242023 0.95017839 0.65986292 0.90051182 0.72853331\n",
      " 0.21941546 0.72370487 1.01062193 0.37651645 0.30127089 0.53134311\n",
      " 0.35862095 0.43838616 0.64781434 0.47689979 0.83487989 0.38621779\n",
      " 0.56178364 0.71586323 0.60368609 0.95978967 0.75552962 0.71046238\n",
      " 0.40563289 0.50989517 0.70055534 0.59209707 0.50986806 0.6479894\n",
      " 0.77556471 0.85186742 0.55963278 0.21748777 0.86928764 0.68108236\n",
      " 0.41483258 0.32677744 0.58392406 0.15620852 0.82865093 0.79678513\n",
      " 0.31440318 0.32768313 0.28080496 0.39986024 0.48014652 0.4162255\n",
      " 0.87586249 0.40645188 0.3934278  0.39195914 0.16631853 0.25624159\n",
      " 0.77983348 0.87238324 0.51331843 0.15790113 1.02409321 0.6028389\n",
      " 0.72236952 0.69869057 0.80222523 0.32310649 0.52227204 0.45399883\n",
      " 0.28227176 0.61190528 0.29827311 0.56748989 0.81281748 0.42051959\n",
      " 1.09761034 0.1054405  0.4493801  0.4130408  0.59834004 0.81499789\n",
      " 0.42427832 0.68858828 0.39532221 0.52891948 0.75476722 0.55954846\n",
      " 0.28826293 0.74054231 0.30576642 0.3310226  0.25838127 0.79590953\n",
      " 0.78842846 0.57529169 0.58330343 0.26012372 0.7649312  0.94825746\n",
      " 0.81192291 0.97400468 0.6938465  0.38753607 0.22436412 0.23524655\n",
      " 0.62752439 0.31823436 0.53416185 0.77256171 0.40590533 0.6080623\n",
      " 0.25476901 0.94192352 0.59844499 0.36083098 0.87717672 0.77501615\n",
      " 0.16105043 0.84677061 0.26200632 0.86875421 0.40206179 0.57063876\n",
      " 0.67883676 0.28420833 0.41807972 0.90841688 0.25263519 0.90976948\n",
      " 0.62351985 0.8320074  0.67698248 0.82016264 0.36659839 0.51685655\n",
      " 0.59360717 0.49850759 0.27211549 0.84308215 0.73349716 0.69679032\n",
      " 0.64771752 0.64527174 0.42717279 0.28467527 0.50596893 0.58996723\n",
      " 0.38407504 0.81940067 0.99742165 0.6937741  0.38402956 0.24968262\n",
      " 0.67662685 0.89541271 0.80158434 0.69895683 0.59000303 0.42507402\n",
      " 0.83728067 0.74305164 0.82141232 0.18418813 0.3420908  0.47074406\n",
      " 0.22946    0.45674361 0.17980896 0.5184917  0.83909092 0.28517836\n",
      " 0.24663362 0.53732153 0.68208435 0.33929818 0.7310791  0.43031045\n",
      " 0.25544188 0.59689861 0.5503373  0.08982041 0.75619864 0.59653422\n",
      " 0.87589911 0.64172018 0.6740925  0.53981237 1.09694332 0.4233137\n",
      " 0.83642463 0.73759782 0.58095608 0.84475919 0.59482264 1.06884996\n",
      " 0.82183227 0.55292654 0.68276244 0.55110319 0.28186245 0.43061372\n",
      " 0.85127915 0.71988249 0.18325821 0.388594   0.53843775 0.58580271\n",
      " 0.43224754 0.75988388 0.24462013 0.82790679 0.26613129 0.43809291\n",
      " 0.62654421 0.30681685 0.46152541 0.33728739 0.46575528 0.47938313\n",
      " 0.57370932 0.86254823 0.52290489 0.42407954 0.56443357 0.22432105\n",
      " 0.2586589  0.5643095  0.7823873  0.75069452 0.2027532  0.40041081\n",
      " 0.25078481 0.22033323 0.39376445 0.72361965 0.97235271 0.61456682\n",
      " 0.80455439 0.58584755 0.38948272 0.38212918 0.34613009 0.6863478\n",
      " 0.46252429 0.58238202 0.71296711 0.82746517 0.47919983 0.59939395\n",
      " 0.8670749  0.10991821 0.24153179 0.36967914 0.77969785 0.93256751\n",
      " 0.61456805 0.32616764 0.57553034 0.7360727  0.75222704 0.82599699\n",
      " 0.81800998 0.77228951 0.33986072 0.26190924 0.56236193 0.3550143\n",
      " 0.82891161 0.66087299 0.54670526 0.43695904 0.83362492 0.37257969\n",
      " 0.50903019 0.26732105 0.57367323 0.81265923 0.40499887 0.71939312\n",
      " 0.64605089 1.01339904 0.6923114  0.78053195 1.10089521 0.44888284\n",
      " 0.75100858 0.50878494 0.9574045  0.40470413 0.32643307 0.15328999\n",
      " 0.84273961 0.8587778  0.73886169 0.22812301 0.30462576 0.27609459\n",
      " 0.21740885 0.78048307 0.61598817 0.50015434 0.67416336 0.78870565\n",
      " 0.29805752 0.2595742  0.45570464 0.22749504 0.69491751 0.39669853\n",
      " 0.4943139  0.31415177 0.65832649 0.24309216 0.58295429 0.31619279\n",
      " 0.36216984 0.77071322 0.19489347 0.85339733 0.61644661 0.54089175\n",
      " 0.2914729  0.52017327 0.68040092 0.89155532 0.62756083 0.49300841\n",
      " 0.57411365 0.78103197 0.12776272 0.44565761 0.78097439 0.79701858\n",
      " 0.18956628 0.96694185 0.65891288 0.59169158 0.33165601 0.85502922\n",
      " 0.46565995 0.87595211 0.7230865  0.18485952 0.39658785 0.35434075\n",
      " 0.48567176 0.25948008 0.28254946 0.49722158 0.33895544 0.17183185\n",
      " 0.82763904 0.6723127  0.37001168 0.56401416 0.75395886 0.74210094\n",
      " 0.59730642 0.58221241 0.09632229 0.85435736 0.77325301 0.14860403\n",
      " 0.11232321 0.71073342 0.4026931  0.69638925 0.90993838 0.4219527\n",
      " 0.25688263 0.8897886  0.99250278 0.83163436 0.81983846 0.2761241\n",
      " 0.56605457 0.57865202 0.53296618 0.38223965 0.27354405 0.51555496\n",
      " 0.76189578 0.37672669 0.07069066 0.71026665 0.63405707 0.78319936\n",
      " 0.68211758 0.24645276 0.70578666 0.41421284 0.38412663 0.47869847\n",
      " 0.49657324 0.70412076 0.68882465 0.13100039 0.46765948 0.39786105\n",
      " 0.48007501 0.49396023 0.49808153 0.82861761 0.53827352 0.54013936\n",
      " 0.54391153 0.74399931 0.51101983 0.99623966 0.80498153 0.29346053\n",
      " 0.22439527 0.76831173 0.61709604 0.36122109 0.3668854  0.83118162\n",
      " 0.8784873  0.89923308 0.40072014 0.61123032 0.72567999 0.46562692\n",
      " 0.23686011 0.94208134 0.38456081 0.8670849  0.70097309 0.308342\n",
      " 0.74833409 0.54842767 0.71640715 0.58412348 0.44395978 0.33394362\n",
      " 0.81773102 0.64232261 0.68620083 0.51462328 0.61889456 0.82338923\n",
      " 0.90946686 0.33848379 0.25723947 0.39223762 0.59368732 0.38455757\n",
      " 0.34303183 0.22409072 0.27059731 0.80823813 0.38026915 0.74847206\n",
      " 0.29441374 0.38991835 0.12957382 0.28849482 0.19795224 0.18839322\n",
      " 0.30235452 0.32803276 0.62744191 0.41200882 0.4503887  0.71258649]\n",
      "sortedDistIndicies [155 908 705 399 884 277 247 601 775 888  32 330  47  65 854 980 921 229\n",
      " 198  87  13 887 349 815 373 567 585 272  33 642 422 580 118 494 219 253\n",
      " 875  92 692 728 687 867 983 107 858 449 842 982 177 132 529 754  63 216\n",
      "  45 491 322 228 822 561 392 534 757 328 467 341 357 173 973 749 628 936\n",
      "  76 120 831 819 160 690 355  99 629 490 948 465 456 376 461 776 417 224\n",
      " 837 734 913 696 386 478 677 756 652 463 636 339 702 581 503 894 968 233\n",
      " 616 750  43 871 829 621 789 644 193 736 799 309 270 496 223 212 974 477\n",
      " 662 904 497 151 821 899 353  12 334 527 572 112 724 594 872 310 649 669\n",
      " 695 276 356 113 295 486 432 612 981  74 109 502 846 935 978 166 421 460\n",
      " 289 828 596 320 307 538 300 984 501 265 820  80 144 614 739 953  95 254\n",
      " 218  94 340 835 570 512 129 479 839  49  90 333 631  83 234  34 591 159\n",
      " 455 781 814 565 571 985 162 367 615 862 301  96 521 203 959 427  17 741\n",
      " 967 874 699 788 114 209 688 972  51 451 103  24 147 188 766 407 391 189\n",
      "  86 206   2 869 791 238 540 249 639 146 371 939 840  44 130 389 658 499\n",
      " 940  27 199  56  68 777 446 482 878 408 261 170 797 213 368 537 186 907\n",
      " 298 305 358 182  36  31 976 448 765 903 676 672 916 971 950 335 141 545\n",
      " 627 729 327 764 516 138 979  28 360 579 969 291  15 578  29 495 758 608\n",
      " 868 833 384 475 923 288 523 379 573 139 755 944 281 214 646 890 813   5\n",
      " 802 552 634 187 577 336  69 294 522 987  18 603 397 915 520 564 575 650\n",
      " 312 599 308 285 893 369 713 747 352 606 121 683  10 519 462 668 303 275\n",
      " 128 325 439 220 701 725 306 732 403 157 795  62 737 541  89 458 105  77\n",
      " 181 958 344 855 271 161 809 602 423 273 988 517 438 593 101 269 830 691\n",
      "  35   3 740 768 528 259 324 443 245 947 864 742 922  71 508 185 469 429\n",
      "  53 689 169 286 354  79 239 543 917 772  20 743 317 924 574 102  57  11\n",
      " 351 299  38 870 196 125 406 243 851 925 834 137 252 394 918 873 926 661\n",
      " 221 825 436 670 447 104 811 798 556 553 396 932 440 381 584 963 404 905\n",
      " 321 140 659  23 149  55 693  67 847 592 418 746  37 476 204 409 372 172\n",
      " 609 539 116 200 452 902 632  93 248 697 928 730 122 435 711 929 845   0\n",
      "  88 401 930 326 794 153 955 704 117 723 237 721 240 338 135 611 560 154\n",
      " 225 546 131 790 879 431 751 748  64 900 420 597 470 318 119 647 464 800\n",
      " 744 852 619 782 346 901  48 311 716 256 883 769 838 620 566 957 100  70\n",
      " 731 763 393 471  50  30 108 671 682 861 296 555 242 660 970 718 492 283\n",
      " 707 703 882  58 604 638 773 264 148  39 370 398 524 268 587 548 332 430\n",
      " 635 201 127 945 595 210 293 761 780 150 824 844 938 485 964 375 400 654\n",
      " 738 366 168 986 630 850 211 227 487 156 910 442 365 174 282 457 304 709\n",
      " 498 263 513 202 961 167 134 232 667 183 143 136 804 260   7 484 126 666\n",
      " 395 542 557 426 145 444 194  59  26  22 836 428 860   9 215 531 793 110\n",
      " 347 388 175 178  81 480 877 710 826 133 106 678 656 648 251 848 413 563\n",
      " 698 912 722 962 767 231 607 920 236  91 459 511  41 806 267 675 626 250\n",
      " 832 891 190 665 362 589 681 507  78 191 554 142 952 192 383 919 914 385\n",
      "  19 343  54 909 551 889   8 989 770 518 337 547 956 803 727 374 588 866\n",
      " 759 535 946 184 500 533 179 441 700 506 664 783 715 515 818 226 205 483\n",
      " 613 437  60 380 881 685 931 323 378   4 954 977 753 278 810 784 880 610\n",
      " 257  75 550 244 706 416 414 733 434 906 402 342 468 622 412 195 937 841\n",
      " 787 633 886 641 558 171  25 526 361 778 582   6 823 807 856 853 510 752\n",
      "  72 911 124 258 222  82 387 405 618 827 411  61 617 569 857 680 590 450\n",
      " 762 180 934 246 364 489 975 280 454 624  21 801 598 152 605 410 290 960\n",
      " 786  98 241 673 898 474 657 686 235 720 965 415  40 785 419 771 876 735\n",
      " 927 568 792 262 941 504 897 655 796 315 544 714 684 287 694 208 514 377\n",
      " 816 359 663 123 717 643 425 348 297 505 726 302 559 466 843 111 885 863\n",
      " 316 363 488 817 329 274 176 745 774 951 645 562 319 115 583 164 576 708\n",
      " 865  46 640 942  97 165 445  85 292 255  52 895 390 849 314 158  14 331\n",
      " 433 679  42 509 943 197 493 532 207 279  84 651  66 966 653 892  73 481\n",
      " 453 779  16 525 313 637 949 473 345 623 530 812 549 472 859 760 625 163\n",
      " 382   1 230 896 217 933 674 536 805 586 266 350 284 719 712 600 808 424]\n",
      "{2: 2, 3: 1}\n",
      "分类器的分类结果:2,真实的类别是:2\n",
      "[[-0.43563814 -0.04350374 -0.00737623]\n",
      " [-0.57842955 -0.26637784 -0.501703  ]\n",
      " [ 0.05380562 -0.09856937  0.05356651]\n",
      " ...\n",
      " [-0.17633911 -0.37461367 -0.02786183]\n",
      " [-0.4122906  -0.30216523  0.0539283 ]\n",
      " [-0.36458756 -0.24231983 -0.30278494]]\n",
      "[[1.89780589e-01 1.89257573e-03 5.44088000e-05]\n",
      " [3.34580740e-01 7.09571536e-02 2.51705902e-01]\n",
      " [2.89504433e-03 9.71592021e-03 2.86937065e-03]\n",
      " ...\n",
      " [3.10954833e-02 1.40335398e-01 7.76281632e-04]\n",
      " [1.69983539e-01 9.13038291e-02 2.90826101e-03]\n",
      " [1.32924086e-01 5.87188978e-02 9.16787221e-02]]\n",
      "distances: [0.43786707 0.81070574 0.12442    0.46764281 0.98809931 0.52119007\n",
      " 0.65711744 0.90961084 0.2931807  0.50697297 0.05589582 0.29855803\n",
      " 0.20789756 0.46057814 0.5215343  0.55289033 0.51459715 0.39870797\n",
      " 0.13271702 0.41243891 0.52049485 0.49708107 0.4153136  0.71682727\n",
      " 0.32844899 0.75639756 0.690627   0.14872221 0.56238898 0.53716524\n",
      " 0.39424416 0.42659587 0.49181842 0.52197388 0.63366632 0.28669801\n",
      " 0.48457511 0.26301258 0.21909751 0.22783485 0.4941543  0.82739051\n",
      " 0.70384637 0.30956575 0.24508867 0.45556858 0.49840602 0.49791536\n",
      " 0.79398911 0.44778329 0.43064893 0.08854208 0.49665157 0.34792742\n",
      " 0.38423969 0.28839253 0.415363   0.09746819 0.5051658  0.69158704\n",
      " 0.33519368 0.61390457 0.19474253 0.28043384 0.41248659 0.54130035\n",
      " 0.95044156 0.63555886 0.47590476 0.37430491 0.66166608 0.03901061\n",
      " 0.61121672 0.62250667 0.45319645 0.65279187 0.29005174 0.13121889\n",
      " 0.76925283 0.65972064 0.67117124 0.41915397 1.0039894  0.25515247\n",
      " 0.80454012 0.66314913 0.3292306  0.50028661 0.17851264 0.42343485\n",
      " 0.64564678 0.44302518 0.38028595 0.3839297  0.51544014 0.19330395\n",
      " 0.64131913 0.69219918 0.87147279 0.47168047 0.39759591 0.06785261\n",
      " 0.37899134 0.47530093 0.7440841  0.15048923 0.70990646 0.39877204\n",
      " 0.31215054 0.47193419 0.23328936 0.68049564 0.46910162 0.57181796\n",
      " 0.47325383 0.52268531 0.47598396 0.41708815 0.5849268  0.7676281\n",
      " 0.38589392 0.21338644 0.23139936 0.61433196 0.40203671 0.64618563\n",
      " 0.46500119 0.42244463 0.69576024 0.49684382 0.29274093 0.3705581\n",
      " 0.30532206 0.49883817 0.28510816 0.46272102 0.58838331 0.53607569\n",
      " 0.44121072 0.26372122 0.1181964  0.30543609 0.6282065  0.54168225\n",
      " 0.32590647 0.51245373 0.41176692 0.17389181 0.53646546 0.80733898\n",
      " 0.52652383 0.18507623 0.60251414 0.38286283 0.75584125 0.43224754\n",
      " 0.81643649 0.3773056  0.55880146 0.12219046 0.64780349 0.14363195\n",
      " 0.58132341 0.73503845 0.69595367 0.56942583 0.44630024 0.21920481\n",
      " 0.63184946 0.39868826 0.32452153 0.36444097 0.27587162 0.53627987\n",
      " 0.2097824  0.34042503 0.58253038 0.32008323 0.56879451 0.45570548\n",
      " 0.48600485 0.22112958 0.41151931 0.48648341 0.4711116  0.07563256\n",
      " 0.37227271 0.45402282 0.63765865 0.25156025 0.38477402 0.33141211\n",
      " 0.28203002 0.45242148 0.6014998  0.41978448 0.44918076 0.75325572\n",
      " 0.30747816 0.53812369 0.36537502 0.7248466  0.24490964 0.46507602\n",
      " 0.65095648 0.59122746 0.71846192 0.68543649 0.43566981 0.44773563\n",
      " 0.7423041  0.76395563 0.39863452 0.69888405 0.09379716 0.83989056\n",
      " 0.56906981 0.84845879 0.67181796 0.33738794 0.22259429 0.3554363\n",
      " 0.82646893 0.61411589 0.31361152 0.57467784 0.36860309 0.65770292\n",
      " 0.43141363 0.41217031 0.98303599 0.58820542 0.6304032  0.42073288\n",
      " 0.26742622 0.54381821 0.9181515  0.22115589 0.47792593 0.20301648\n",
      " 0.58669467 0.96558279 0.7982926  0.10851074 0.57266661 0.17249353\n",
      " 0.3818311  0.44589198 0.79197664 0.34625101 0.44835965 0.83818181\n",
      " 0.51075003 0.50071086 0.52502976 0.49834708 0.26506809 0.49458681\n",
      " 0.48018299 0.06749451 0.21684635 0.62458286 0.60565564 0.75744384\n",
      " 0.78222962 0.27929391 0.83710936 0.56528256 0.1959042  0.642958\n",
      " 0.30934456 0.22409101 0.4994857  0.13958575 0.7170285  0.33466031\n",
      " 0.45346098 0.40122897 0.57447238 0.63483404 0.58025325 0.46885619\n",
      " 0.46989865 0.23356974 0.9593066  0.31756257 0.42461603 0.85144142\n",
      " 0.52807912 0.15122409 0.45422075 0.3060583  0.7321574  0.56927996\n",
      " 0.35332043 0.23278974 0.25994341 0.52767007 0.12310212 0.14641425\n",
      " 0.54033119 0.37479365 0.70358126 0.05954786 0.92170499 0.3530064\n",
      " 0.51200377 0.676447   0.26682843 0.34320675 0.39606783 0.1818384\n",
      " 0.44781596 0.76341512 0.60433897 0.76718599 0.67024488 0.54478682\n",
      " 0.35359776 0.63632507 0.16467846 0.74089591 0.60240825 0.3986575\n",
      " 0.4683915  0.20265726 0.80893323 0.4710883  0.33928921 0.58236397\n",
      " 0.48053121 0.54292106 0.86174624 0.57450624 0.64694099 0.22835613\n",
      " 0.25640491 0.62468245 0.50013404 0.38367165 0.61634502 0.49780527\n",
      " 0.46302516 0.29017124 0.63816652 0.82850946 0.80472557 0.35624116\n",
      " 0.63274712 0.50726778 1.24229659 0.17015411 0.3018836  0.42008621\n",
      " 0.59438251 0.37727358 0.47222436 0.56636661 0.55413309 0.42180524\n",
      " 0.54247575 0.42601832 0.73456829 0.52966841 0.75575863 0.77487323\n",
      " 0.58267905 0.34383365 0.10494466 0.15827404 0.87082962 0.41396155\n",
      " 0.75668756 0.4614887  0.2955759  0.49816687 0.61053059 0.41659081\n",
      " 0.76591917 0.66233329 0.54927033 0.6711892  0.83937193 0.52470268\n",
      " 0.46241281 0.60102708 0.30824129 0.98429546 0.86321578 0.10907619\n",
      " 0.80468312 0.36777311 0.48027339 0.21811092 0.3521916  0.21777276\n",
      " 0.44720506 0.42176999 0.430318   0.45232632 0.20075878 0.11685956\n",
      " 0.63100679 0.51920762 0.41509811 0.51603079 0.54704334 0.08818067\n",
      " 0.49504438 0.68048836 0.64836652 0.37196237 0.5968082  0.68013528\n",
      " 0.4976092  0.70077811 0.6113061  0.19356264 0.11839614 0.77040324\n",
      " 0.14516551 0.1928091  0.44287863 0.41005634 1.08646229 0.84334414\n",
      " 0.31545359 0.37930625 0.83244423 0.37263137 0.78630553 0.42939877\n",
      " 0.51622097 0.634362   0.85600409 0.37867048 0.37657094 0.33088296\n",
      " 0.62080164 0.33075128 0.10066999 0.30557525 0.34477465 0.34552365\n",
      " 0.65091283 0.47564133 0.29303079 0.10580172 0.32909074 0.29297073\n",
      " 0.65593347 0.54442805 0.57151318 0.81521978 0.67064087 0.6830938\n",
      " 0.28223563 0.43760049 0.34870473 0.26617374 0.2166958  0.38454205\n",
      " 0.5193854  0.22632935 0.61942549 0.47161666 0.80683186 0.53807382\n",
      " 0.56476378 0.25389412 0.72536261 0.72294936 0.77795026 0.87196304\n",
      " 0.57537084 0.6156398  0.46312656 0.58681363 0.21610848 0.46693987\n",
      " 0.36620274 0.76870898 0.45720202 0.68584669 0.73491636 0.29073112\n",
      " 0.21483711 0.74191964 0.72129543 0.47123719 0.37593308 0.24508253\n",
      " 0.51075625 0.50117206 0.3580609  0.29433563 0.63197578 0.41471689\n",
      " 0.9279891  0.64402628 0.30336054 0.60435749 0.22963882 0.51234897\n",
      " 0.47979783 0.53657306 0.45896168 0.26953008 0.51283077 0.63685325\n",
      " 0.55314476 0.62159581 0.64705671 0.6599039  0.4570969  0.82617605\n",
      " 0.23894934 0.19679561 0.87270448 0.07065414 0.32674522 0.45799892\n",
      " 0.24133543 0.17015629 0.50295449 0.53632947 0.41600325 0.68544876\n",
      " 0.49469672 0.44138654 0.53316458 0.22780556 0.72212983 0.42936167\n",
      " 0.33997348 0.63620477 0.86476501 0.31331361 0.21083538 0.58107494\n",
      " 0.16098884 0.4562162  0.27724042 0.43928295 0.65629637 0.3119679\n",
      " 0.1477938  0.85105673 0.51976655 0.65354195 0.32959319 0.88188312\n",
      " 0.5992876  0.77391761 0.33752194 0.78952919 0.57683202 0.76310645\n",
      " 0.52582728 0.70766755 0.49307765 0.36773448 0.48167195 0.82477384\n",
      " 0.26944614 0.49537342 0.21623307 0.45167801 0.47395    0.63816841\n",
      " 0.42810672 0.43640585 0.62217134 0.3113581  0.38710489 0.44406898\n",
      " 0.70859327 0.49319749 0.54499357 0.42205274 0.49004014 0.54780902\n",
      " 0.96912609 0.54295882 0.4951395  0.544311   0.8404796  0.81004692\n",
      " 0.43318102 0.83719369 0.40890724 0.42774638 0.64811267 0.58170915\n",
      " 0.35384742 0.36584706 0.66296666 0.80194356 0.648191   0.32238819\n",
      " 1.00968856 0.36742415 0.21770917 0.35122728 0.47357589 0.40325127\n",
      " 0.08786785 0.766667   0.2765207  0.48415684 0.60423401 0.15745835\n",
      " 0.6016981  0.43058762 0.53633364 0.19971346 0.33064587 0.61114112\n",
      " 0.43247545 0.55134782 0.16879353 0.45406433 0.3505228  0.6596537\n",
      " 0.51656333 0.88305795 0.83959263 0.20741581 0.22989644 0.59200069\n",
      " 0.28448191 0.43255384 0.31146916 0.35654255 0.21506361 0.65530139\n",
      " 0.62340128 0.78743399 0.44151149 0.5196225  0.62054189 0.41958469\n",
      " 0.49243842 0.65866484 0.6537213  0.54903777 0.1535059  0.15633589\n",
      " 0.34456719 0.4636994  0.43697123 0.49327238 0.22787811 0.70322471\n",
      " 0.82515296 0.46306732 0.52290913 0.81555835 0.39583577 0.67083506\n",
      " 0.18052246 0.12516654 0.58954307 0.49471187 0.55795316 0.37092674\n",
      " 0.72915543 0.52020798 0.23686792 0.47080989 0.4680567  0.68720693\n",
      " 0.4700087  0.64316912 0.80389548 0.31359797 0.50272307 0.23487048\n",
      " 0.26189688 0.49209595 0.60584293 0.55759059 0.43212789 0.63303044\n",
      " 0.4434428  0.62019112 0.47963543 0.27846504 0.5870969  0.63899543\n",
      " 0.4776799  0.50054852 0.36915723 0.5948334  0.54127258 0.46497811\n",
      " 0.35774712 0.35858634 0.48296228 0.49029573 0.36052672 0.16961677\n",
      " 0.39934784 0.77296633 0.7176783  0.48906614 0.68053355 0.16897889\n",
      " 0.81013286 0.21761098 0.4889167  0.11054714 1.10226528 0.30656163\n",
      " 0.62879979 0.59117431 0.78989317 0.54929656 0.46546503 0.99950202\n",
      " 0.42546399 0.36435853 0.51496345 0.175066   0.35539016 0.17926024\n",
      " 0.5854725  0.39481871 0.33623107 0.30024371 0.27851462 0.4762482\n",
      " 0.         0.35436166 0.22404861 0.54259801 0.67311194 0.05627003\n",
      " 0.80232946 0.63615758 0.1627527  0.41604355 0.61188433 0.54579417\n",
      " 0.75653146 0.48813739 0.53625455 0.08172133 0.78379958 0.39931494\n",
      " 0.66069708 0.46591424 0.44894398 0.35495019 0.30043992 0.28589391\n",
      " 0.41326464 0.42171    0.43261221 0.5868382  0.78743738 0.34676175\n",
      " 0.48003719 0.70136806 0.14499635 0.46511403 0.68772228 0.41025634\n",
      " 0.13338684 0.20825685 0.40444045 0.59042378 0.0590307  0.80677103\n",
      " 0.7340199  0.51420198 0.37695228 0.43567322 0.45325476 0.62600957\n",
      " 0.18567527 0.16799334 0.77979806 0.54012509 0.54839332 0.58346235\n",
      " 0.68866218 0.59608268 0.72036597 0.48364013 0.45727879 0.14124742\n",
      " 0.63577132 0.24713673 0.25001491 0.48832685 0.92456244 0.42861955\n",
      " 0.35425624 0.43199228 0.49078975 0.43766904 0.33953208 0.91628778\n",
      " 0.49267503 0.83835827 0.35194269 0.68230402 1.09456885 0.59014607\n",
      " 0.38047406 0.57766737 0.74693806 0.46173959 0.64178091 0.43840265\n",
      " 0.58340955 0.74869958 0.84000189 0.56754162 0.37546317 0.44086973\n",
      " 0.58069191 0.9751444  0.49510812 0.19369902 0.28024979 1.04234649\n",
      " 0.37126703 0.5199113  0.35334584 0.21185491 0.39649308 0.48140562\n",
      " 0.74370262 0.12808272 0.76846489 0.30305748 0.28816548 0.51685287\n",
      " 0.30573303 0.77574826 0.43214972 0.47366989 0.57429177 0.70343677\n",
      " 0.22157706 0.13996267 0.24858044 0.68580384 0.34653801 0.75617081\n",
      " 0.25617459 0.97066229 0.3602528  0.35126983 0.6009225  0.43233409\n",
      " 0.56232053 0.77652373 0.46235869 0.48508611 0.69092782 0.72730382\n",
      " 0.147707   0.63503792 0.47673442 0.41229385 0.39790754 0.41049734\n",
      " 0.37936746 0.62933505 0.46014701 0.46588105 0.42781464 0.53098933\n",
      " 0.60978322 0.9746588  0.41778835 0.14816365 0.62939922 0.46154882\n",
      " 0.83998606 0.17182578 0.35570618 0.62163814 0.35558851 0.46487401\n",
      " 0.49773364 0.67639182 0.45735439 0.30404792 0.65932699 0.33342437\n",
      " 0.20306169 0.92260124 0.85595165 0.44349695 0.79408559 0.49033373\n",
      " 0.73342056 0.76453149 0.73376454 0.30845774 0.55250057 0.43712236\n",
      " 0.58582403 0.61745571 0.46310818 0.55010226 0.73964526 0.57513048\n",
      " 0.54852933 0.35524675 0.52215259 0.10695905 0.42527767 0.64206708\n",
      " 0.09047254 0.28835543 0.35943336 0.41084212 0.46777303 0.61304827\n",
      " 0.54162169 0.20483492 0.77629754 0.7337148  0.27043839 0.4499289\n",
      " 0.15255514 0.75328167 0.13455981 0.94024889 0.86634361 0.17436891\n",
      " 0.44338419 0.98793296 0.49920228 0.30602075 0.35446121 0.79515303\n",
      " 0.60862742 0.48408784 0.40416654 0.18259864 0.29809344 0.7170758\n",
      " 0.6243766  0.79883668 0.2446861  0.65513052 1.01610477 0.26774413\n",
      " 0.32174603 0.14890395 0.4381769  0.48306366 0.11719462 0.3593595\n",
      " 0.73250539 0.66440261 0.46174622 0.63374636 0.29416362 0.71077533\n",
      " 0.92592655 0.63696407 0.23717416 0.4338009  0.19323363 0.48676285\n",
      " 0.15795086 0.24074298 0.48952855 0.39039836 0.12280614 0.33809009\n",
      " 0.3805644  0.19051172 0.52639922 0.22833792 0.30442563 0.44993854\n",
      " 0.24747663 0.11456236 0.73068785 0.41497851 0.51399964 0.53227973]\n",
      "sortedDistIndicies [732  71  10 737 772 303 259 101 519 185 747 606 407  51 918 214  57 440\n",
      " 368 447 915 243 389 711 985 401 958 140 418 159 976 298   2 661 835  77\n",
      "  18 768 932 273 847 791 161 764 420 299 864 546 879  27 955 105 289 930\n",
      " 646 647 611 972 369 540 740 320 781 620 707 701 351 523 883 245 147 935\n",
      " 723  88 725 660 311 945 151 780 979 421 970  95 417 825  62 268 517 615\n",
      " 400 325 239 894 925 627  12 769 174 538 831 121 486 634 478 566 460 260\n",
      " 709 602 395 393  38 167 181 237 846 220 734 271 463 531  39 652 981 335\n",
      " 502 628 122 295 110 283 677 668 968 516 973 522 950 202 491  44 793 984\n",
      " 848 794 189 469  83 852 336 296 678  37 139 256 459 308 234 953 564 507\n",
      " 928 172 608 542 687 730 265 826  63 192 456 630 134 755  35 838 919  55\n",
      "  76 343 485 130 449 446   8 964 495 374 946  11 729 754 352 837 500 891\n",
      " 982 132 141 441 840 939 291 713 198 386 903 270  43 573 632 545 108 537\n",
      " 675 224 426 285 177 954 599 170 144 520  24 448  86 550 616 439 437 191\n",
      " 893 275  60 728 219 554 977 328 802 534 175 309 367 648 442 443 249 850\n",
      " 761  53 458 622 603 855 806 394 305 294 830 318 594 798 733 940 753 913\n",
      " 724 221 886 884 347 633 696 494 697 959 920 854 700 721 171 200 595 480\n",
      " 601 561 391 226 692 131 665 828 411 186 429  69 301 820 490 436 776 355\n",
      " 157 435 102 427 870  92 810 978 246 153 339  93  54 461 190 120 574 975\n",
      "  30 727 658 310 832 100 868 212 323 169  17 107 749 702 277 124 605 944\n",
      " 770 590 423 767 869 921 182 146 229 867  19  64 756 371 497 987 404  22\n",
      "  56 526 741 377 117 878  81 641 195 353 233 757 397 359 579 127  89 286\n",
      " 916 720 361  31 591 874 570 797 533 431 398 613  50 228 799 682 842 155\n",
      " 857 618 631 758 588 969 208 777 571 650 905 457 801   0 956 815 543 821\n",
      " 138 529 638 422  91 936 684 897 575 247 166 396 209  49 312 250 752 196\n",
      " 929 983 567 399 193  74 778 276 187 621 290  45 179 541 514 482 790 890\n",
      " 521 506 872  13 373 881 813 962 860 384 135 342 655 908 476 649 887 695\n",
      " 126 203 765 718 873 751 479   3 922 670 324 281 112 282 672 669 327 184\n",
      " 489 465  99 109 356 114 604 843 568 103 445  68 116 731 866 690 238 686\n",
      " 504 762 258 392 330 833 562 698 957 789 943 609  36 861 180 183 971 745\n",
      " 795 710 705 974 580 699 899 800  32 679 642 804 560 577 651  40 257 528\n",
      " 663 408 824 584 565  52 129  21 414 888 341  47 375 255  46 133 938 272\n",
      " 338  87 691 253 493 676 524  58   9 349 252 492 306 503 145 508 988 775\n",
      "  16 722  94 405 432 624 839 403 462 639 548 829 667  20   5  14  33 914\n",
      " 115 656 383 254 558 980 150 297 288 363 875 989 530 137 746 173 525 614\n",
      " 148 505  29 467 199 783 300 694  65 924 143 360 735 331 583 235 585 451\n",
      " 317 578 743 406 581 784 912 645 380 717 909 619 904  15 510 358 681 664\n",
      " 158 858  28 468 267 357 819 178 216 293 165 452 113 244 844 278 333 225\n",
      " 911 474 556 811 280 822 539 162 593 329 176 366 816 785 118 726 906 240\n",
      " 477 759 688 231 136 662 809 771 715 205 629 354 693 787 412 552 856 385\n",
      " 194 612 322 152 610 314 501 262 680 942 876 376 617  72 416 742 923  61\n",
      " 223 123 475 340 907 464 685 640 438 511 885 572  73 636 948 261 337 779\n",
      " 142 714 871 880 232 402 168 496 348 683  34 963 433 279 865  67 792 739\n",
      " 535 319 509 967 188 344 569 689  96 814 917 269 673 499  90 125 334 512\n",
      " 160 592 598 410 444 204  75 549 644 951 635 450 544   6 227 643 892 623\n",
      "  79 513 750  70 379 596  85 961 316 454 659  80 381 218 736 889 307 413\n",
      " 409 111 706 807 455 207 527 849 483 671 766 786  26 862  59  97 128 164\n",
      " 213 415 763 653 845 302  42 559 576 106 965  23 274 947 704 206 788 488\n",
      " 532 471 201 470 863 666 986 292 960 900 927 902 774 362 484 163 910 321\n",
      " 487 210 834 104 812 817 197 931 364 154 851  25 744 372 263 557 313 211\n",
      " 901 378 607 315 119 836 481  78 419 703 553 365 841 926 859 472 782 264\n",
      " 748 430 637 760 555 716 248  48 898 941 242 949 597 738 674  84 390 346\n",
      " 773 466 149 326 587 708   1 453 657 156 563 654 515 222  41 345 428 266\n",
      " 589 251 805 382 626 215 882 818 586 425 217 547 287 896 434 332 388 536\n",
      " 934 370  98 473 518 551 625   7 803 236 304 895 796 966 498 933  66 284\n",
      " 241 582 853 877 823 230 387 937   4 719  82 600 952 827 424 808 712 350]\n",
      "{2: 3}\n",
      "分类器的分类结果:2,真实的类别是:2\n",
      "[[-0.43020389 -0.17799301  0.05366566]\n",
      " [-0.5729953  -0.40086711 -0.44066111]\n",
      " [ 0.05923986 -0.23305864  0.1146084 ]\n",
      " ...\n",
      " [-0.17090487 -0.50910294  0.03318006]\n",
      " [-0.40685635 -0.43665451  0.11497019]\n",
      " [-0.35915331 -0.3768091  -0.24174305]]\n",
      "[[0.18507539 0.03168151 0.00288   ]\n",
      " [0.32832361 0.16069444 0.19418221]\n",
      " [0.00350936 0.05431633 0.01313508]\n",
      " ...\n",
      " [0.02920847 0.2591858  0.00110092]\n",
      " [0.16553209 0.19066716 0.01321814]\n",
      " [0.1289911  0.1419851  0.0584397 ]]\n",
      "distances: [0.46865436 0.8265593  0.26638464 0.52315904 1.08900417 0.5682503\n",
      " 0.68967861 1.01454883 0.19991832 0.58390422 0.18592374 0.33012593\n",
      " 0.32956509 0.57093205 0.47992346 0.67870825 0.43673165 0.5263197\n",
      " 0.18490137 0.36203193 0.63361034 0.43816358 0.4794846  0.78484247\n",
      " 0.46982374 0.81073103 0.72954566 0.23144363 0.70629358 0.66554018\n",
      " 0.40949937 0.46386769 0.61601371 0.65124527 0.75579731 0.3313071\n",
      " 0.53279248 0.29153111 0.27751093 0.25990774 0.498589   0.92064912\n",
      " 0.74173746 0.39761236 0.28587492 0.5558209  0.47113578 0.63770861\n",
      " 0.88348449 0.51041329 0.45125775 0.22568406 0.4524323  0.47015874\n",
      " 0.41090331 0.38996494 0.55678994 0.15243933 0.58627863 0.76234251\n",
      " 0.2993622  0.67505395 0.19574936 0.38787114 0.46479791 0.66427592\n",
      " 1.02454335 0.67707681 0.56669956 0.48253398 0.73288815 0.12677867\n",
      " 0.67410127 0.60791879 0.5817234  0.68258901 0.42496708 0.19861051\n",
      " 0.84440862 0.7207613  0.78313836 0.48409494 1.1088356  0.39989502\n",
      " 0.83223249 0.6909026  0.46059305 0.61129374 0.17492876 0.4915137\n",
      " 0.76680333 0.47482583 0.48587927 0.47213627 0.64513455 0.31885627\n",
      " 0.76865842 0.75495815 0.94236514 0.5619564  0.49348227 0.15451943\n",
      " 0.42734078 0.60822034 0.82597033 0.26909048 0.77322971 0.49184431\n",
      " 0.37527219 0.5844497  0.17050214 0.72746784 0.54993749 0.65906093\n",
      " 0.53944092 0.47823214 0.58455357 0.4906378  0.7182215  0.85205559\n",
      " 0.51751957 0.22649424 0.31141763 0.64826506 0.34369349 0.76765969\n",
      " 0.54356699 0.48469175 0.77683166 0.64072442 0.35082533 0.37802586\n",
      " 0.42242979 0.54035221 0.29524202 0.57656668 0.67294528 0.58050371\n",
      " 0.48122649 0.38757822 0.16966206 0.33291077 0.72269078 0.6162169\n",
      " 0.43933234 0.53414417 0.45423917 0.27741103 0.53900317 0.89857723\n",
      " 0.58438402 0.31670654 0.66584375 0.46262623 0.8316817  0.56178364\n",
      " 0.89466045 0.47001566 0.49390011 0.23899617 0.78398418 0.14518387\n",
      " 0.71698253 0.71953764 0.72195865 0.56257707 0.58090741 0.15879056\n",
      " 0.71048383 0.40679392 0.44448424 0.28616092 0.34429258 0.67877842\n",
      " 0.15250845 0.37878118 0.60365842 0.41598292 0.6524801  0.50609057\n",
      " 0.45287471 0.31607636 0.52466258 0.50229187 0.52096358 0.09750288\n",
      " 0.40627676 0.49490744 0.75744191 0.30455635 0.40549225 0.29858858\n",
      " 0.18742441 0.53519868 0.67426539 0.3903522  0.55478372 0.80705975\n",
      " 0.43356856 0.5963638  0.37321581 0.77128965 0.19071558 0.54518106\n",
      " 0.75195898 0.67099618 0.84163678 0.70431539 0.37731441 0.51031592\n",
      " 0.81502183 0.82223759 0.47407348 0.81275063 0.16585886 0.93554278\n",
      " 0.6955341  0.87894541 0.78255506 0.44278272 0.22721554 0.47114786\n",
      " 0.90585941 0.7548877  0.40242963 0.59572225 0.36405055 0.72303016\n",
      " 0.52673302 0.5241915  1.04791644 0.67746195 0.65493987 0.56202865\n",
      " 0.40819803 0.57095037 1.00118347 0.27658863 0.60038077 0.21862263\n",
      " 0.60793909 1.05652377 0.89177648 0.17242336 0.63998938 0.16835339\n",
      " 0.29683687 0.57230112 0.87742043 0.39592376 0.43373436 0.93046393\n",
      " 0.52879692 0.64313947 0.65002581 0.46130632 0.28487882 0.473501\n",
      " 0.46145607 0.17089487 0.10906466 0.74459806 0.59351791 0.84171551\n",
      " 0.86692521 0.42427357 0.84189328 0.55353975 0.10166114 0.70080023\n",
      " 0.41873326 0.23829693 0.60847892 0.25479255 0.7755051  0.46118953\n",
      " 0.59033508 0.54206203 0.63629808 0.629784   0.56483507 0.51037465\n",
      " 0.54659599 0.22465737 0.99221015 0.35944973 0.53124149 0.91731367\n",
      " 0.63677957 0.28290023 0.44516112 0.36009674 0.79543723 0.61431698\n",
      " 0.47438671 0.32684866 0.30935384 0.49992882 0.25923544 0.11845473\n",
      " 0.6823854  0.45899889 0.77300835 0.13948204 1.01176441 0.39433901\n",
      " 0.60209256 0.81155467 0.39544853 0.43041707 0.5289281  0.08177814\n",
      " 0.54174975 0.76783312 0.60266322 0.80827946 0.7227914  0.63112677\n",
      " 0.32763256 0.66409075 0.27101959 0.81690201 0.7237096  0.34757282\n",
      " 0.57499685 0.21119545 0.89907915 0.51144383 0.44524573 0.55664632\n",
      " 0.60165586 0.48567096 0.9493295  0.69722841 0.75866938 0.26359575\n",
      " 0.27257568 0.67720955 0.51427148 0.46352909 0.72498384 0.62983391\n",
      " 0.48820387 0.21187353 0.69821081 0.85710159 0.87197855 0.33568559\n",
      " 0.67872042 0.62980637 1.34198561 0.1728301  0.39490283 0.49167972\n",
      " 0.65928213 0.48058017 0.60340368 0.69930448 0.6887275  0.33890821\n",
      " 0.62361375 0.42421462 0.80202404 0.49074873 0.8053015  0.86492412\n",
      " 0.63617895 0.46555062 0.21095492 0.18285431 0.96286728 0.46266779\n",
      " 0.84816764 0.59651442 0.22380052 0.51445737 0.74362307 0.33501651\n",
      " 0.8327247  0.76805622 0.53962592 0.71851206 0.87899522 0.5699735\n",
      " 0.60045855 0.68103195 0.39938747 1.08305482 0.92852485 0.25351929\n",
      " 0.84608209 0.50127458 0.59414295 0.21866935 0.38966053 0.13970281\n",
      " 0.55586454 0.4629739  0.44186452 0.58578387 0.1671714  0.11736028\n",
      " 0.66223688 0.55029813 0.50407971 0.49010543 0.59055848 0.22584894\n",
      " 0.60395242 0.75950926 0.66555174 0.28552176 0.64584048 0.74652169\n",
      " 0.52445282 0.71511423 0.58818385 0.31919568 0.16830683 0.82081572\n",
      " 0.14038154 0.29572009 0.5573355  0.50863477 1.1433679  0.91378442\n",
      " 0.26396111 0.47210106 0.90359229 0.4653383  0.86547717 0.51259907\n",
      " 0.63752842 0.60183049 0.9399568  0.36718912 0.47588868 0.28329422\n",
      " 0.74812071 0.44668508 0.14703783 0.23962152 0.32530137 0.37313151\n",
      " 0.69718423 0.41155718 0.3512064  0.16620965 0.35990032 0.43527563\n",
      " 0.71076577 0.65831054 0.60389538 0.83719418 0.72888431 0.80213933\n",
      " 0.38106378 0.4957225  0.40491633 0.17181077 0.34399903 0.49949644\n",
      " 0.61360523 0.37318566 0.72096945 0.58844017 0.86416468 0.6612204\n",
      " 0.62155479 0.36663889 0.80878089 0.79811251 0.77237023 0.90076824\n",
      " 0.61245147 0.75015452 0.54858763 0.68315873 0.32451009 0.5363569\n",
      " 0.32708944 0.78078552 0.50488962 0.76626224 0.81703556 0.3120326\n",
      " 0.31777297 0.80868468 0.7553672  0.47451143 0.50665986 0.38855729\n",
      " 0.53832204 0.44821562 0.4801958  0.32284065 0.74941193 0.4883751\n",
      " 1.03191107 0.76094567 0.21919141 0.71642181 0.36957851 0.64874505\n",
      " 0.47844309 0.51945836 0.43577197 0.18205997 0.63756696 0.60014404\n",
      " 0.58979697 0.68895912 0.75074633 0.71561498 0.41404173 0.88934617\n",
      " 0.26781974 0.20361382 0.95762838 0.19964994 0.35869599 0.5129135\n",
      " 0.26136728 0.20386199 0.59353092 0.45842274 0.37788425 0.81228653\n",
      " 0.58838291 0.54860618 0.45578958 0.12578973 0.77768977 0.40664199\n",
      " 0.42746358 0.67468207 0.87177128 0.42834302 0.3238928  0.6947507\n",
      " 0.29692563 0.58066898 0.29179514 0.55100961 0.71959466 0.34192503\n",
      " 0.         0.92510824 0.60677288 0.60402877 0.25513571 0.97870858\n",
      " 0.73438836 0.89110088 0.2656226  0.87895661 0.67863694 0.83351042\n",
      " 0.52910128 0.75999093 0.59633691 0.4659618  0.44611452 0.88753917\n",
      " 0.38989157 0.57094795 0.20758918 0.59008664 0.44297081 0.70140729\n",
      " 0.49371658 0.49169381 0.74608592 0.39766183 0.49456939 0.56133804\n",
      " 0.72529354 0.53602545 0.67468547 0.47930873 0.60933393 0.64249591\n",
      " 1.06883184 0.54780783 0.52343769 0.65825545 0.84086271 0.89651216\n",
      " 0.4259479  0.91487755 0.37107149 0.49405627 0.77001921 0.62381239\n",
      " 0.43114597 0.34920749 0.79365344 0.87298355 0.69810861 0.38426155\n",
      " 1.05392229 0.50801956 0.22980559 0.38485648 0.55733224 0.33357984\n",
      " 0.14587441 0.83672551 0.29874167 0.55001139 0.67067879 0.18134481\n",
      " 0.7297309  0.45262614 0.62288603 0.30948094 0.46213024 0.65669235\n",
      " 0.38165643 0.63160116 0.16842701 0.57537316 0.2867579  0.62852848\n",
      " 0.54766697 0.93242632 0.91672176 0.28553035 0.34446622 0.71082185\n",
      " 0.30952222 0.49581939 0.35225717 0.26924373 0.24979307 0.70962816\n",
      " 0.75836633 0.80013565 0.51409679 0.63200313 0.63233765 0.41298161\n",
      " 0.61454243 0.70350623 0.77243123 0.51131299 0.2850799  0.02406884\n",
      " 0.36990964 0.58635763 0.48557812 0.41345016 0.33716452 0.72322874\n",
      " 0.91373027 0.44036889 0.56281453 0.86741701 0.4433312  0.75456154\n",
      " 0.16251436 0.08140917 0.70754427 0.43205611 0.62289437 0.37296765\n",
      " 0.81542789 0.59880556 0.26333705 0.54494542 0.56730239 0.76681128\n",
      " 0.51262421 0.68669132 0.8062318  0.28317183 0.616291   0.38225246\n",
      " 0.22376686 0.41937916 0.65663125 0.56480513 0.48469042 0.6983387\n",
      " 0.40595971 0.69800195 0.48316056 0.3915232  0.7097794  0.69311401\n",
      " 0.57635534 0.60899933 0.46552099 0.72468695 0.51655283 0.54503901\n",
      " 0.5038078  0.43722496 0.46674049 0.55764751 0.32033041 0.28269747\n",
      " 0.48314709 0.86271469 0.76082526 0.62018425 0.71262344 0.13173149\n",
      " 0.8544996  0.11026158 0.55781358 0.08616543 1.17446669 0.39938225\n",
      " 0.65565133 0.64873394 0.85691875 0.52821995 0.51619126 1.04369286\n",
      " 0.38764332 0.43037918 0.57354737 0.22310303 0.43072009 0.204113\n",
      " 0.55561124 0.42197492 0.46283838 0.3253351  0.36981373 0.54826472\n",
      " 0.1477938  0.31345092 0.36731509 0.56319618 0.80267576 0.18113621\n",
      " 0.89403318 0.76534796 0.15008206 0.47512071 0.7137006  0.65944054\n",
      " 0.82390918 0.459482   0.62682318 0.14334986 0.86242178 0.51737844\n",
      " 0.79459949 0.55486527 0.42791873 0.32226724 0.44545243 0.31588849\n",
      " 0.5331827  0.51418567 0.54509171 0.65124416 0.79616944 0.4199424\n",
      " 0.43290136 0.77748127 0.19490952 0.52149455 0.81889417 0.41350778\n",
      " 0.23157383 0.21834114 0.36414972 0.61565402 0.12204899 0.87979394\n",
      " 0.80538576 0.63950921 0.46654408 0.49356197 0.46732126 0.57538491\n",
      " 0.06935333 0.25251575 0.84835991 0.60154747 0.54405239 0.60399493\n",
      " 0.69712282 0.63889939 0.84151138 0.56124638 0.46651164 0.27533456\n",
      " 0.68177689 0.21741809 0.32766729 0.57764085 1.01423562 0.47427324\n",
      " 0.38973365 0.50382811 0.57436553 0.41376505 0.47441182 1.01548576\n",
      " 0.58097671 0.84734379 0.36931876 0.76436716 1.15356494 0.70709758\n",
      " 0.3405416  0.66908503 0.74470363 0.52189255 0.77312803 0.57954676\n",
      " 0.61007747 0.77775321 0.91070122 0.70206546 0.51323506 0.56252167\n",
      " 0.71217384 1.07476211 0.5837814  0.185355   0.26672278 1.15134879\n",
      " 0.43245897 0.64722044 0.47044618 0.33705551 0.41771744 0.52301114\n",
      " 0.83509639 0.25692932 0.84648993 0.41573132 0.25354148 0.63655117\n",
      " 0.34339751 0.84160471 0.54101943 0.44396193 0.63794431 0.7809813\n",
      " 0.30912547 0.08276343 0.14992706 0.6998245  0.40882023 0.84865765\n",
      " 0.30968481 1.06525656 0.47659097 0.44541045 0.66379604 0.40768487\n",
      " 0.67164203 0.78457619 0.45178921 0.56904129 0.81083243 0.75795471\n",
      " 0.13223294 0.67836015 0.53755638 0.50940262 0.43574813 0.46214004\n",
      " 0.39632691 0.74433783 0.58585703 0.57526835 0.5648197  0.66305306\n",
      " 0.60131517 1.07766127 0.544219   0.01185951 0.63940718 0.50645705\n",
      " 0.91625643 0.17883384 0.47981275 0.66399315 0.26805171 0.59006585\n",
      " 0.62550936 0.77281277 0.51309638 0.28812055 0.6392631  0.36475336\n",
      " 0.31845015 0.99738435 0.88618164 0.40486706 0.87713882 0.57636959\n",
      " 0.7851911  0.81588471 0.82930367 0.37218643 0.67950483 0.52314318\n",
      " 0.65046702 0.73433334 0.59035339 0.61337302 0.81963991 0.62259698\n",
      " 0.62198322 0.43686389 0.58419288 0.1599207  0.55555736 0.75989942\n",
      " 0.09327381 0.23349553 0.34649849 0.51727692 0.51498165 0.7041154\n",
      " 0.6300585  0.17801988 0.86385002 0.7611475  0.32211131 0.54713316\n",
      " 0.14225983 0.81483793 0.06943241 0.9818778  0.94928993 0.287508\n",
      " 0.52853197 1.08249318 0.51345174 0.35262957 0.49382849 0.85060336\n",
      " 0.57531978 0.40384722 0.51742373 0.06975573 0.20503164 0.79592612\n",
      " 0.74523064 0.81525822 0.27614693 0.6928568  1.12649774 0.35268999\n",
      " 0.24509003 0.07363302 0.47480626 0.55878271 0.1337553  0.46551635\n",
      " 0.79514671 0.73097845 0.53255665 0.68277897 0.32762377 0.79328595\n",
      " 0.9964334  0.77224382 0.33218605 0.47361989 0.1114982  0.53589308\n",
      " 0.27551669 0.38558041 0.58271841 0.30522728 0.24178384 0.29315319\n",
      " 0.45731493 0.31473685 0.64835862 0.31683879 0.40402877 0.59242177\n",
      " 0.31727184 0.23681817 0.80725345 0.53804757 0.60779717 0.57394764]\n",
      "sortedDistIndicies [546 879 647 780 932 945 955 661 311 847 711 918 185 268 260 709 970 401\n",
      " 299 772 531  71 707 864 958 303 395 420 930 747 161 606 440 732 848 740\n",
      "  57 174 101 167 915 660 214 447 400 418 245 620 140 110 259 459 243 351\n",
      "  88 925 883 737 611 507 369  18 825  10 192 202 764  62  77 519   8 517\n",
      " 523 725 946 566 368 325 343 793 769 239 393 500 723 678 374 283  51 407\n",
      " 121 220 602  27 768 919 985 271 159 441 976 954 634 781 389 838 273 550\n",
      " 835 298  39 522 668 335 426 554   2 826 516 886 105 633 320 336 791 972\n",
      " 950 237 147  38 701 289 675 437 256 646 411 627  44 171 622 935 891  37\n",
      " 542 977 134 421 246 540 191 608  60 189 975 846 296 615 630 852 122 485\n",
      " 733 979 755 181 151 981 984 486 894  95 417 700 928 753 495 538 478 442\n",
      " 729 295 480 964 318 794  12  11  35 968 141 605 377 347 831 652 359 810\n",
      " 545 840 124 460 172 628 920 323 595 130 446 632 939 953 520 285 448 291\n",
      "  19 226 770 893 469 435 734 806 502 730 648 590 903 665 443 463 200 108\n",
      " 208 526 131 175 456 618 677 599 603 973 139 720  63 491 394 798 564  55\n",
      " 195 687 305 352 308 249 870  43 573 713 386  83 224 943 982 897 458 190\n",
      " 684 186 533 169 857 234 850  30  54 445 641 651 767 801 514 837 177 832\n",
      " 270 679 761 727 132 361 265  76 588 102 534 752 537 721 309 724 594 663\n",
      " 828 762 198 250 449 868 506  16 913 697  21 144 655 398 219 568 658 843\n",
      " 170 290 328 855 754 562 439 493  50 860  52 613 180 146 530 978 525 301\n",
      " 745  86 275 255 258 616 869 153 371 728 397 339  31  64 429 959 692 367\n",
      " 561 790 776 698 778   0  24 157  53 830  46 221 427  93 257 969 212 797\n",
      " 294 802 489 956  91 741 436 854 115 504 579  22 884  14 494 355 138  69\n",
      " 702 686  81 682 127 650 331  92 342 497 405 117 363  89 353 571 107 100\n",
      " 777 570 940 158 591 574 187 457 631  40 461 297 391 183 696 799 404 482\n",
      " 179 881 490 601 423 867 209 281  49 645 327 431 672 521 890 820 938 638\n",
      " 757 338 375 922 718 694 921 749 944 120 505 184 765 813 833 905   3 584\n",
      " 229 414 182  17 228 717 936 252 310 558 286 962  36 756 145 193 971 577\n",
      " 479 866 987 492 148 114 380 133 842 312 277 126 784 878 669 695 758 203\n",
      " 282 929 624 583 731 476 529 112 609 403 543 267 196 751 916 726  45 396\n",
      " 329  56 604 422 699 710 957 789 575 155  99 233 821 165 656 735 681 874\n",
      " 280  68 670   5 861 383  13 565 235 247 722 989 800 324 873 942 621 779\n",
      " 690 899 135 795 815 137 541 166 804  74 974 824   9 914 150 109 116 399\n",
      " 872  58 649 416 528 465 510 887 567 276 908 406 983 262 524 392 225 560\n",
      " 199 373 667 509 238 384 876 783 330 433 306 314 356 176 452 408 785 549\n",
      " 548 988  73 240 103 272 691 580 816  87 474 909 462 293 642 771  32 143\n",
      " 676 705 468 912 911 614 664 360 593 888 746 623 279 349 341 924 317 619\n",
      " 639 640  20 366 278 839 288 432 508  47 844 787 892 880 775 244 129 581\n",
      " 253  94 412 829 123 980 715 503 254 906 759  33 178 232 714 680 617 585\n",
      " 451 113 354 743 467 402 875 856 885 319  65  29 410 152 811 610 205 858\n",
      " 136  72 194 535 578  61  67 337 231 865 556  15 348 173 904 385 792 300\n",
      "  75 963 477 673 358 511   6  85 951 689 539 216 786 444 333 685 598 344\n",
      " 683 357 849 269 569 819 643 923 207  28 809 662 635 688 168 450 629 822\n",
      " 706 742 415 513 501 162 118 381 163 544  79 464 164 142 316 227 653 322\n",
      " 693 340 576 111 454  26 612 961  70 907 552  42 376 871 261 812 948 572\n",
      " 413 438 496 475 512 204 659 223  97 488  34 188 863 636 334 409 917 559\n",
      " 704 499 927  59 807 739 483  90 671 125 313 379  96 592 201 967 472 644\n",
      " 889 302 814 106 274 128 763 532 817 481 845 218  80 160 859  23 900 965\n",
      " 596 750 960 292 947 760 471 637 362 455 736 364 774 674 197 986 315 487\n",
      " 470  25 862 307 527 213 931 210 949 666 901 321 484 766 910 419 211 744\n",
      " 104   1 902 154  84 378 557 834 607 453 586 788 841 206 263 266  78 390\n",
      " 836 805 372 782 851 941 119 708 716 345 748 703 926 466 365 430 264 657\n",
      " 536 346 597 898 248 217 555 382 773  48 896 563 515 553 242 738 156 587\n",
      " 149 326 473 428 222 818 654 425 589 882 626 287  41 547 388 251 625 215\n",
      " 434  98 934 332 518 370 551 933 284 966 895 236 304 796   7 803  66 498\n",
      " 719 230 600 241 853 582 823 877 937 387   4  82 952 424 827 808 712 350]\n",
      "{2: 3}\n",
      "分类器的分类结果:2,真实的类别是:2\n",
      "错误率是0.000000\n",
      "0.0\n"
     ]
    }
   ],
   "source": [
    "datingClassTest()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "percentage of time spent playing video games?5\n",
      "frequent filer miles earned per year?4\n",
      "liters of ice cream cosumed per year?3\n",
      "[4. 5. 3.]\n",
      "[[-0.44828153 -0.15903822  1.20756321]\n",
      " [-0.15868877 -0.10294149  0.78265258]\n",
      " [-0.2853856   0.17008794  1.29540045]\n",
      " ...\n",
      " [-0.29111566 -0.27008976  1.25910181]\n",
      " [-0.52706715 -0.19764133  1.34089194]\n",
      " [-0.47936411 -0.13779592  0.9841787 ]]\n",
      "[[0.20095633 0.02529315 1.45820889]\n",
      " [0.02518213 0.01059695 0.61254505]\n",
      " [0.08144494 0.02892991 1.67806232]\n",
      " ...\n",
      " [0.08474833 0.07294848 1.58533737]\n",
      " [0.27779978 0.0390621  1.79799118]\n",
      " [0.22978995 0.01898772 0.96860771]]\n",
      "distances: [1.29786686 0.80518577 1.33732463 1.76968842 1.74995702 1.43096808\n",
      " 1.12908976 1.57362449 1.5301906  1.02338735 1.39428251 1.05988946\n",
      " 1.3419292  1.50912358 1.85515645 1.73174412 1.22879509 1.84126469\n",
      " 1.07383041 1.08082049 1.28900672 1.34691552 1.41577972 1.69154112\n",
      " 0.81170985 1.48788256 0.83059243 1.39545519 1.40557113 1.20389558\n",
      " 1.35291537 1.10842854 1.00815754 1.81648525 1.33506911 1.39016097\n",
      " 1.604862   1.43174834 1.47547823 1.45980455 1.27876005 1.71167478\n",
      " 1.68563933 1.67699916 1.70873908 1.34192558 1.71122813 1.23925006\n",
      " 1.23222645 1.07939799 0.83385894 1.59554335 0.94633168 1.60030444\n",
      " 1.51386023 1.73484301 0.79821463 1.64668838 1.76749782 1.74363962\n",
      " 1.31829104 1.36725145 0.80466998 1.2163054  0.94444402 1.15544251\n",
      " 1.36165507 1.23712917 1.20469376 1.45943285 0.97303663 0.9678663\n",
      " 1.444148   1.56590892 1.23788459 1.7508544  1.46978208 1.76528272\n",
      " 1.53749867 1.32643798 1.55066626 1.26669779 0.98592324 0.904641\n",
      " 1.49108268 1.30438573 1.49989916 1.35014219 1.52098137 1.80815258\n",
      " 1.83829986 0.99785031 1.79105639 1.35531575 1.26808995 0.92647939\n",
      " 1.33110329 1.76262401 1.1998131  1.44528475 1.73828526 1.04232468\n",
      " 1.65908301 1.17225907 1.52818223 1.42959329 1.69052775 0.89106387\n",
      " 1.50793356 1.76058094 1.09876575 1.26113617 1.38282111 1.44084115\n",
      " 1.82424862 1.22407698 1.48998562 1.67053359 1.06945895 1.55766776\n",
      " 1.09173066 0.98811944 1.75915042 1.80325878 1.76130846 0.90536579\n",
      " 1.22154422 1.21165802 1.7502434  1.74908794 1.4906436  1.4771195\n",
      " 1.14414649 0.90948237 0.97748771 1.50109601 1.05136404 1.120911\n",
      " 1.85936545 1.47946701 1.47827422 1.32752221 1.51264384 1.14378045\n",
      " 1.03490236 1.17328768 1.22059974 1.60252848 1.72795231 1.26025072\n",
      " 1.18114547 1.58206831 1.13546211 1.17465743 1.42189027 1.30733315\n",
      " 1.69954681 1.43357974 1.55854783 1.9044534  1.28193314 1.44290812\n",
      " 0.90745492 1.16693218 1.78284071 1.6535822  1.7693794  1.32860207\n",
      " 1.02223128 1.40779946 1.79975224 1.39006883 1.57844282 1.01400092\n",
      " 1.06515968 0.83866213 1.46503306 1.10156962 1.3681915  1.5662582\n",
      " 1.32365421 0.98858164 1.15271075 1.61332446 1.11322176 0.99121632\n",
      " 0.83024241 1.60503874 1.14129043 0.9348919  1.00460772 1.23543234\n",
      " 1.38781023 1.29318462 0.94548645 1.31678564 1.65491859 1.73533505\n",
      " 1.6951415  1.54056137 0.97873734 1.03104829 1.08616255 1.74360971\n",
      " 1.26558711 0.97343913 1.27496102 1.00158078 1.56336415 1.77405525\n",
      " 1.38527741 1.75739631 1.11033211 1.61318853 1.52189474 1.01941987\n",
      " 1.82205608 0.9641547  0.88158891 1.65146109 1.66186893 1.75268032\n",
      " 1.69430112 1.79215363 1.3671268  1.6850706  1.71419631 1.07923173\n",
      " 1.83599073 1.62011193 1.4668776  1.18570058 1.43014068 1.67989253\n",
      " 1.56388198 1.64464906 0.93061636 1.46595767 1.7165713  1.68225229\n",
      " 1.36325065 1.1084511  1.56340741 1.46883371 1.33828302 0.85676215\n",
      " 1.88451992 1.11538442 1.45649031 1.3226774  1.68533895 1.67133446\n",
      " 1.73148706 1.20830662 0.97765958 1.41266045 0.96506687 1.63871753\n",
      " 1.86501743 1.63085043 1.197011   1.65527242 1.66958428 1.61441796\n",
      " 1.55504191 0.80516182 1.13497639 1.14118736 1.00822659 1.25002748\n",
      " 1.14822265 1.64121036 1.14512615 1.58077025 1.72345375 1.35768667\n",
      " 1.07540268 1.4511093  1.19580687 1.82287038 1.46887314 1.39424113\n",
      " 1.76784787 1.22213033 1.01581648 1.24710748 1.47644202 1.58181395\n",
      " 1.00668544 0.91511188 1.15911518 1.75477422 1.07547304 1.12987549\n",
      " 1.21983153 1.44672941 1.2746837  1.4229351  1.50125443 1.39273593\n",
      " 0.84678073 1.45242834 0.95614799 1.41542695 1.2849587  1.46832981\n",
      " 1.06765995 0.93264889 1.29266925 1.37090067 1.54376326 1.50542572\n",
      " 0.96996914 1.32434709 1.96043171 1.56342789 1.4940631  1.76494488\n",
      " 1.24571049 1.55438325 1.44030083 1.23247884 1.42025155 1.15166658\n",
      " 0.86351562 1.32055548 0.93367915 1.47747231 1.38302405 0.89480814\n",
      " 1.45841423 1.83165307 1.78241422 1.06490001 1.33512722 1.46264461\n",
      " 1.86178419 1.75954038 1.61085622 1.03716709 1.67951298 0.92933493\n",
      " 1.88817011 1.62059333 1.82676653 1.50852322 1.51684484 1.24777642\n",
      " 1.53500476 1.67881332 1.74434345 1.59175616 0.89756885 1.0508866\n",
      " 1.82114598 1.2179964  1.91109143 1.13008058 0.89424328 1.74366621\n",
      " 1.87391348 1.31535929 1.29536375 1.71604589 1.66150064 1.56104892\n",
      " 1.50670151 1.67357231 1.48786722 0.92520124 1.63530828 0.8831095\n",
      " 1.47560996 0.95353522 1.32582163 1.60489957 1.37535638 1.38032191\n",
      " 1.38504488 1.42654082 1.89927056 1.70354291 1.76988984 1.59805333\n",
      " 1.04473429 1.37570548 1.72205388 0.93000607 1.43922453 1.7230638\n",
      " 1.2654459  1.82933862 1.03954116 1.1013512  1.36210225 1.11204152\n",
      " 1.59902265 1.76312795 1.88589776 1.32346392 1.24983699 1.34832998\n",
      " 1.63325123 1.12565032 1.35468111 1.11580214 1.2283199  1.69040956\n",
      " 1.31678858 1.66262179 1.1159265  1.18679592 1.21918148 1.76366742\n",
      " 1.23613301 1.10636859 1.63648904 1.35297772 1.49771318 1.67058704\n",
      " 1.16592206 0.98341464 1.05233195 1.3973942  0.95766019 1.30015738\n",
      " 1.43940444 1.46367758 1.180085   1.30670728 1.15583429 1.48097385\n",
      " 1.701406   1.31866962 1.33063586 1.34903098 1.18534175 1.47891732\n",
      " 1.7900873  1.2661999  1.74600714 1.17084786 1.58154474 1.09459894\n",
      " 1.54995467 1.45256582 1.20292231 0.97509273 1.49594563 1.25360404\n",
      " 1.21826882 1.02003624 1.18657295 1.44161188 1.49380107 0.84853062\n",
      " 1.46798581 1.21297953 1.60941328 1.46192475 1.05036314 1.57760967\n",
      " 1.64762241 1.26682104 1.0579457  1.80391867 1.57099552 1.08037683\n",
      " 1.40116486 1.08971325 1.37968193 1.52189458 1.49840045 1.41333769\n",
      " 1.37321635 1.59658748 1.29281934 1.75392942 0.96812127 1.18731085\n",
      " 1.66402562 1.65937644 1.16320816 1.36251111 0.88883654 1.54771573\n",
      " 1.28488625 1.80185071 1.50534668 1.6854853  1.18819108 1.18871311\n",
      " 1.68636581 1.19923467 1.52779555 1.07225678 1.49776101 1.64746897\n",
      " 1.14830565 0.84996504 1.47748143 1.45668273 1.41390663 0.80711311\n",
      " 1.6067265  1.5715344  1.78491866 1.71079272 1.90412452 1.69032361\n",
      " 1.03961023 1.7227336  1.41345744 1.56538728 0.82885349 0.90676148\n",
      " 1.13649854 1.09908421 1.33292764 1.11662593 0.95946935 1.23914576\n",
      " 1.81924657 1.49211236 0.86526915 1.63197301 1.51531479 1.44396502\n",
      " 1.70184583 1.26316157 1.59041591 1.74954185 1.51112818 1.4360034\n",
      " 1.16431964 0.84505357 0.96121488 1.83415676 1.40828502 1.70678597\n",
      " 0.81212452 1.13450886 0.90745826 1.08677621 1.6278935  1.31166941\n",
      " 1.22213097 1.32152538 1.4692856  1.34778184 1.30245317 1.31737282\n",
      " 1.02451825 1.26879631 0.93285452 1.59160619 1.2547757  1.69488296\n",
      " 1.1942896  0.98902927 1.01938814 1.67429669 1.51183398 1.72375023\n",
      " 1.13176878 1.73276723 1.41763989 1.64638482 1.051313   1.04203083\n",
      " 1.20352903 1.65071781 0.81588429 1.76460377 1.246316   1.68183569\n",
      " 1.14406247 1.57976696 0.89052299 1.0010907  1.65453734 1.69790978\n",
      " 1.73017431 1.35547513 1.22766668 1.35297339 1.13943593 1.78030508\n",
      " 1.46673478 1.55928865 1.66755424 1.76417014 1.73373255 0.78128901\n",
      " 1.55982988 1.77019801 1.11762859 1.77410311 1.06114874 1.68022383\n",
      " 0.89165973 1.63756235 1.44693996 1.78096707 1.64507505 1.27283321\n",
      " 1.75613612 1.9043605  1.02588827 1.39560403 1.1967482  1.55609924\n",
      " 1.46258294 1.61727958 1.15148824 0.92790865 1.36506939 1.56480041\n",
      " 1.54661006 1.3688761  1.0380975  1.13901256 1.67565617 0.92255393\n",
      " 1.72201534 1.44544642 1.43218453 1.0092516  0.99948579 1.32741785\n",
      " 1.13095011 1.5422484  0.96975739 0.95825234 0.84912851 1.17203437\n",
      " 1.70015084 1.35574795 1.51238874 1.74863512 1.04227349 1.72739282\n",
      " 1.22742599 1.00663138 1.48472    1.56405552 1.7232116  1.17544396\n",
      " 1.14184396 1.5290129  0.90103362 0.89243716 1.72841127 0.96324524\n",
      " 1.82764072 0.95970669 1.25862818 1.24225221 0.9791204  1.52308437\n",
      " 1.56761727 0.85625992 1.47414873 0.98096448 1.75844811 0.84217516\n",
      " 1.18886253 1.44432798 1.60734072 1.64515232 1.16709576 1.31602543\n",
      " 1.71019635 1.00824093 1.01404245 1.0067234  1.49508287 1.12790156\n",
      " 1.41547792 1.76657746 1.28188603 1.55636385 1.75973449 1.01961908\n",
      " 1.07772582 1.02058495 1.47308526 1.41115719 1.04246237 0.86174502\n",
      " 0.96079479 1.33476904 1.20927153 1.81706843 0.85593239 1.06453971\n",
      " 0.83381947 1.5571605  1.6104667  1.80471964 1.75415923 1.37796928\n",
      " 1.64809884 1.3554818  0.99045402 1.75468549 1.46797065 1.16739738\n",
      " 1.30962723 1.69311811 1.00725117 1.23140998 1.69063938 1.68381267\n",
      " 1.88735644 1.703217   1.36037957 1.14338971 1.29976198 1.1535168\n",
      " 1.04297875 1.20851895 1.38364726 1.29966313 1.00006948 1.09100619\n",
      " 1.86874453 0.97560098 1.25299976 1.27018326 0.87508444 1.17231661\n",
      " 1.09152139 1.15861961 1.64879714 1.4383837  1.0933579  0.93453014\n",
      " 1.51321646 1.57222485 1.12766655 1.21740217 1.29629253 0.94839863\n",
      " 1.4369279  0.85487033 1.81668914 1.25967544 1.68281773 1.70575558\n",
      " 1.40223087 1.63231055 1.54994865 1.38521851 1.80080589 0.81357347\n",
      " 1.370463   1.34374008 1.82623632 1.53887757 1.78779581 1.1975548\n",
      " 0.95418931 0.94430947 1.47598197 1.55918546 1.51930845 1.70994891\n",
      " 1.38679435 1.09518914 1.08119512 1.06045391 1.04415383 1.61045256\n",
      " 1.42442668 1.63662666 1.74146195 1.08989589 1.25782191 1.11632418\n",
      " 1.13956186 0.94120998 1.26929236 1.84112207 0.98863416 1.71371352\n",
      " 1.66524152 1.71373336 0.87554835 1.01207221 1.18843062 1.46326043\n",
      " 1.84677185 0.98793087 1.2091083  0.94890435 1.31517327 1.0587594\n",
      " 1.85020693 1.75518822 1.46153789 1.35805952 0.96076016 1.07196942\n",
      " 1.10921349 1.4571704  1.52343298 1.64841463 1.3375641  1.71961274\n",
      " 1.22679553 0.86373028 1.28881727 1.73235869 1.06996173 1.09977147\n",
      " 0.96890773 1.07956787 1.41956998 1.48768292 0.98256679 1.45887693\n",
      " 1.06227854 1.57992344 1.68545205 1.60423239 0.86947457 1.25253705\n",
      " 1.62814621 1.66568801 1.39677314 1.51258781 1.70297148 1.74937539\n",
      " 1.12990377 1.3890937  1.0163419  1.87360294 1.6444741  1.5960389\n",
      " 1.22752338 1.48462795 0.99503815 1.77024233 1.80063415 1.40961916\n",
      " 1.59982006 1.55872098 1.27252691 1.55622227 1.58819026 1.40211104\n",
      " 1.69625885 0.82415659 1.34173113 1.69587974 1.5171755  1.32076862\n",
      " 1.10933743 1.02711674 1.02735711 1.82489743 1.08766923 1.76076924\n",
      " 1.62843882 1.2881977  0.9721953  0.89423342 1.79091765 1.06810913\n",
      " 1.30809238 1.18000038 1.80770017 1.19355687 1.37771664 0.8287389\n",
      " 0.95220035 1.69879438 1.67735462 1.70033349 1.47429632 1.80179624\n",
      " 1.51252461 1.26798796 1.39763282 1.67039667 1.14464873 1.97074075\n",
      " 1.37118267 1.25291718 1.34101199 0.91864329 1.91164149 1.13179876\n",
      " 1.60914245 0.86358478 1.00464034 1.6946739  1.72229689 1.19705212\n",
      " 1.59431336 0.99229639 1.05275819 1.59250782 1.48778088 1.43607042\n",
      " 1.11861046 0.86026178 1.2341003  1.69603183 1.84319931 1.89674678\n",
      " 1.69237991 1.44265739 1.62437224 1.26685218 0.99016618 1.6335371\n",
      " 1.69436002 1.06561925 1.57669767 0.96351605 1.10148806 1.65063954\n",
      " 1.03366002 1.38626713 1.35229378 1.52144324 1.29124987 1.02476916\n",
      " 1.05057079 1.67455263 1.52921673 1.70031241 1.46373007 1.36575451\n",
      " 1.88636177 1.31336226 1.16371746 1.20425922 1.19467119 1.43590644\n",
      " 1.32157592 1.33599437 1.46975513 1.46008529 1.73320957 1.83946287\n",
      " 1.39331904 1.52929468 1.32477602 1.33575303 1.07955342 0.86627762\n",
      " 1.34951382 1.19507389 1.05492664 1.85454057 1.79280106 1.19199631\n",
      " 1.52313061 0.91529224 1.98704225 1.5460941  1.01426702 1.28557073\n",
      " 0.95572327 1.21874536 1.36385534 1.42542498 1.16917702 1.45249233\n",
      " 0.99257655 1.73426434 1.05013926 1.02866153 1.40990318 1.65202702\n",
      " 1.53063562 1.71896216 1.19908715 1.776788   1.40808329 1.4443799\n",
      " 1.76368228 0.96511049 1.36004613 0.96839699 1.66691468 1.26965859\n",
      " 1.72999517 1.52297339 1.58741912 1.59383727 1.53627209 1.40504818\n",
      " 1.58644746 1.3202402  1.45425344 1.10335188]\n",
      "sortedDistIndicies [593  56  62 265   1 503  24 540 755 572 853 875 514 186  26 696  50 175\n",
      " 665 535 300 455 634 499 745 694 661 245 907 689 324 895 811 524 953 826\n",
      " 730 788 218 371 484 578 107 600 651 867 358 329 352 650  83 125 515 162\n",
      " 542 133 289 961 891 623 369  95 615 341 387 236 307 554 326 737 189 781\n",
      " 763  64 194  52 743 795 876 373 762 966 302 424 633 520 655 802 690 536\n",
      " 653 921 217 256 985  71 478 987 816 632 312 866  70 205 447 727 134 254\n",
      " 200 658 663 820 421  82 793 121 181 784 559 916 704 185 901 972 842  91\n",
      " 628 724 579 207 190 896 643 288 675 710  32 268 673 627 789 173 674 964\n",
      " 284 836 560 215 683 451 685 168   9 552 929 608 859 860 975 201 924 144\n",
      " 339 620 392 510 569 640 101 688 720 772 384 974 460 930 353 568 136 422\n",
      " 902 956 464 797  11 771 598 822 695 333 174 919 306 869 118 814 803 495\n",
      "  18 276 292 684 227  49 952 817 467  19 770 202 543 862 469 777 725 732\n",
      " 120 736 443 769 110 517 815 393 922 177 999 415  31 241 804 858 212 395\n",
      " 184 247 405 410 779 519 596 906 137 403 740 677   6 293 834 357 630 564\n",
      " 893 541 266 152 516 621 586 780 267 188 648 717 143 576 132 886 272 270\n",
      " 498 614 323 182 719  65 430 733 290 482 938 534 420 163 670 707 970 441\n",
      " 635 103 731 145 153 647 871 428 150 436 231 452 411 479 490 790 491 666\n",
      " 959 873 558 940 955 278 610 260 899 761 980 493  98 446 570  29 939  68\n",
      " 253 721 794 692 127 457  63 741 355 450 967 412 294 146 126 283 546 115\n",
      " 810 642 840 584 406  16 711  48 321 908 191 414  67  74 521  47 657 318\n",
      " 574 285 347 400 269 827 889 728 449 556 778 656 747 149 111 529 390 204\n",
      " 439  81 463 915 883  94 553 782 989 729 848 605 296 206  40 680 160 486\n",
      " 304 965 865 812  20 928 308 476 193 362 742   0 723 718 425 550  85 429\n",
      " 155 870 708 545 937 796 361 671 195 408 551  60 433 997 325 857 547 942\n",
      " 249 399 180 313 950 374  79 629 141 167 434  96 518 691  34 334 951 943\n",
      "   2 808 244 890 854  45  12 757  21 549 401 435 954  87 926  30 585 417\n",
      " 404  93 583 703 637 275 801 986 716  66 394 483 240 968 616 935 224  61\n",
      " 178 619 756 309 888 474 376 385 874 701 470 377 112 328 722 378 753 210\n",
      " 925 768 192 835 171  35 299 948 281  10  27 609 830 423 884 468 851 750\n",
      " 995  28 169 982 538 845 976 687 255 473 512 502 303 678  22 566 818 322\n",
      " 154 297 774 969 379 105 232   5  37 626 157 941 533 905 744 735 388 426\n",
      " 320 113 453 913 161 527  72 667 983  99 625 295 602 277 301 971 445 998\n",
      " 248 501 805 330 821  69  39 945 800 459 612 335 791 427 934 176 237 588\n",
      " 230 706 456 305 243 280 548 944  76 686 662 880  38 372 764 286 131 327\n",
      " 500 140 437 139 431 841 644 819 904 368  25 116 130  84 523 454 316 676\n",
      " 448 418 496 472  86 135 298 488 311 366 108 345  13 532 562 638 882 831\n",
      " 142 738  54 526 346 856 766  88 927 471 214 991 659 960 806 494 104 649\n",
      " 932 949   8 978 348 994  78 759 199 631 310 963 618 485 752 444  80 319\n",
      " 264 611 849 681 697 119 158 847 765 589 594 365 208 242 315 234 645 617\n",
      " 513  73 179 660 466 505 739   7 920 461 172 577 823 273 442 287 151 996\n",
      " 992 850 530 555 351 903 993 900  51 839 475 383 396 846  53 147 825  36\n",
      " 375 187 504 668 894 458 773 698 338 213 183 263 613 229 343 914 544 828\n",
      " 864 259 525 751 402 917 370 416 775 601 257 271 838 235 604 669 567  57\n",
      " 497 462 702 807 734 923 571 219 977 165 580 196 261 102 481 364 220 409\n",
      " 480 786 829 988 590 262 885 117 419 251 367 561 931 622  43 878 349 340\n",
      " 233 599 575 239 748 713 225 250 824 489  42 492 509 407 106 712  23 912\n",
      " 709 222 918 897 557 198 855 909 852 581 877 156 636 933 879 432 528 832\n",
      " 715 381 749 539  44 767 672 507  46  41 785 787 226 363 238 979 809 624\n",
      " 386 898 511 389 646 274 563 641 148 652 990 582 252  15 813 565 946 592\n",
      " 973  55 197 100 776 203  59 359 350 440 639 129 833 531   4 128  75 221\n",
      " 477 700 705 291 799 606 211 664 122 337 682 109 863 124  97 397 413 984\n",
      " 591 573 317  77 679  58 282 166   3 382 595 843 209 597 981 587 603 332\n",
      " 164 506 760 438 868  92 223 958 170 844 754 881 487 123 465 699 872  89\n",
      "  33 746 693 522 354 216 279 114 861 758 344 654 391 331 537 228  90 947\n",
      " 783  17 910 792 798 957  14 138 336 258 726 837 360 246 398 936 714 342\n",
      " 911 380 508 607 159 356 892 314 887 962]\n",
      "{2: 3}\n",
      "you will like the person: in small doses\n"
     ]
    }
   ],
   "source": [
    "#实际输入的程序\n",
    "def classifyPerson():\n",
    "    resultList = ['not at all','in small doses','in large doses']\n",
    "    percentTats = float(input(\"percentage of time spent playing video games?\"))\n",
    "    ffMiles = float(input(\"frequent filer miles earned per year?\"))\n",
    "    iceCream = float(input(\"liters of ice cream cosumed per year?\"))\n",
    "    datingDataMat,datingLabels = file2matrix('datingTestSet.txt')\n",
    "    normMat, ranges, minVals = autoNorm(datingDataMat)\n",
    "    inArr = array([ffMiles, percentTats, iceCream])\n",
    "    print(inArr)\n",
    "    classifierResult = classify0((inArr-minVals)/ranges, normMat, datingLabels, 3)\n",
    "    print(\"you will like the person:\",resultList[classifierResult - 1])\n",
    "    \n",
    "classifyPerson()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "#手写数字识别\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1, 1024)"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def img2vector(filename):\n",
    "    returnVect = zeros((1,1024))\n",
    "    fr = open(filename)\n",
    "    for i in range(32):\n",
    "        lineStr = fr.readline()\n",
    "        for j in range(32):\n",
    "            returnVect[0,i*32+j] = int(lineStr[j])\n",
    "    return returnVect\n",
    "mat(img2vector('testDigits/0_13.txt')).shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['0_0.txt',\n",
       " '0_1.txt',\n",
       " '0_10.txt',\n",
       " '0_100.txt',\n",
       " '0_101.txt',\n",
       " '0_102.txt',\n",
       " '0_103.txt',\n",
       " '0_104.txt',\n",
       " '0_105.txt',\n",
       " '0_106.txt']"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "trainingFileList = listdir('trainingDigits')\n",
    "trainingFileList[0:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " ...\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]]\n",
      "[[0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " ...\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]\n",
      " [0. 0. 0. ... 0. 0. 0.]]\n",
      "distances: [ 0.         12.16552506 12.4498996  ... 18.08314132 15.16575089\n",
      " 16.88194302]\n",
      "sortedDistIndicies [   0  112   63 ...  321  266 1235]\n",
      "{0: 3}\n",
      "0这个数字分类的结果是0\n",
      "总共错误的个数：0\n",
      "错误率是：0.000000\n"
     ]
    }
   ],
   "source": [
    "def handwritingClassTest():\n",
    "    #初始化类别标签为空列表\n",
    "    hwLabels = []\n",
    "    #得到目录trainingDigits下的所有文件名\n",
    "    trainingFileList = listdir('trainingDigits')\n",
    "    #m=1934，表示1934个训练文件数，每个文件是32*32，后面经过处理后：1*1024\n",
    "    m = len(trainingFileList)\n",
    "    #生成1934*1024的0矩阵\n",
    "    trainingMat = zeros((m,1024))\n",
    "    for i in range(m):\n",
    "        #fileNameStr表示'0_0.txt'\n",
    "        fileNameStr = trainingFileList[i]\n",
    "        #print(fileNameStr)\n",
    "        #fileStr表示0_0\n",
    "        fileStr = fileNameStr.split('.')[0]\n",
    "        #print(fileStr)\n",
    "        #a表示这个图片属于哪个分类，该例子中：0\n",
    "        a = fileStr.split('_')[0]\n",
    "        #print(a)\n",
    "        classNumStr = int(a)\n",
    "        #将代表该训练数据类别的数字存入类别标签列表\n",
    "        hwLabels.append(classNumStr)\n",
    "        #将原本32*32的数组转为1*1024的数组，放入trainingMat\n",
    "        trainingMat[i,:] = img2vector('trainingDigits/%s'%fileNameStr)\n",
    "    #得到目录testDigits下的所有文件名\n",
    "    testFileList = listdir('testDigits')\n",
    "    #初始化错误样本的个数\n",
    "    errorCount = 0.0\n",
    "    #得到测试样本的个数\n",
    "    mTest = len(testFileList)\n",
    "    #为了加快速度，我设置mTest为1\n",
    "    mTest=1\n",
    "    for i in range(mTest):\n",
    "        #得到一个测试的文件名\n",
    "        fileNameStr0 = testFileList[i]\n",
    "        #去掉.txt\n",
    "        fileStr0 = fileNameStr0.split('.')[0]\n",
    "        #得到该测试文件的类别\n",
    "        classNumStr0 = int(fileStr0.split('_')[0])\n",
    "        #将原本32*32的数组转为1*1024的数组\n",
    "        vectorUnderTest = img2vector('trainingDigits/%s'%fileNameStr0)\n",
    "        classifierResult = classify0(vectorUnderTest,trainingMat,hwLabels,3)\n",
    "        print('%d这个数字分类的结果是%d'%(classNumStr0,classifierResult))\n",
    "        if classifierResult != classNumStr0:\n",
    "            errorCount += 1\n",
    "    print('总共错误的个数：%d'%errorCount)\n",
    "    print('错误率是：%f'%((errorCount/float(mTest))))\n",
    "handwritingClassTest()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "#---------------------------------------------------------------------------- \n",
    "#手写数字识别测试函数\n",
    "def handwritingClassTest(): \n",
    "    #初始化类别标签为空列表\n",
    "    hwLabels = []\n",
    " \n",
    "    #列出给定目录下所有训练数据的文件名\n",
    "    trainingFileList = listdir('F:/machinelearninginaction/Ch02/trainingDigits')\n",
    " \n",
    "    #求训练数据数目\n",
    "    m = len(trainingFileList)\n",
    " \n",
    "    #初始化m个图像的训练矩阵\n",
    "    trainingMat = zeros((m,1024))\n",
    "    \n",
    "    #遍历每一个训练数据\n",
    "    for i in range(m):\n",
    " \n",
    "        #取出一个训练数据的文件名\n",
    "        fileNameStr = trainingFileList[i]\n",
    " \n",
    "        #去掉该训练数据的后缀名.txt\n",
    "        fileStr = fileNameStr.split('.')[0]\n",
    " \n",
    "        #取出代表该训练数据类别的数字\n",
    "        classNumStr = int(fileStr.split('_')[0])\n",
    " \n",
    "        #将代表该训练数据类别的数字存入类别标签列表\n",
    "        hwLabels.append(classNumStr)\n",
    " \n",
    "        #调用图像转换函数将该训练数据的输入特征转换为向量并存储\n",
    "        trainingMat[i,:] = img2vector('F:/machinelearninginaction/Ch02/trainingDigits/%s' % fileNameStr)\n",
    " \n",
    "    #列出给定目录下所有测试数据的文件名\n",
    "    testFileList = listdir('F:/machinelearninginaction/Ch02/testDigits')\n",
    " \n",
    "    #初始化测试犯错的样本个数\n",
    "    errorCount = 0.0\n",
    " \n",
    "    #求测试数据数目\n",
    "    mTest = len(testFileList)\n",
    " \n",
    "    #遍历每一个测试数据\n",
    "    for i in range(mTest):\n",
    " \n",
    "        #取出一个测试数据的文件名\n",
    "        fileNameStr = testFileList[i]\n",
    " \n",
    "        #去掉该测试数据的后缀名.txt\n",
    "        fileStr = fileNameStr.split('.')[0]\n",
    " \n",
    "        #取出代表该测试数据类别的数字\n",
    "        classNumStr = int(fileStr.split('_')[0])\n",
    " \n",
    "        #调用图像转换函数将该测试数据的输入特征转换为向量\n",
    "        vectorUnderTest = img2vector('F:/machinelearninginaction/Ch02/testDigits/%s' % fileNameStr)\n",
    " \n",
    "        #调用k-NN简单实现函数，并返回分类器对该测试数据的分类结果\n",
    "        classifierResult = classify0(vectorUnderTest,trainingMat,hwLabels,3)\n",
    " \n",
    "        print(\"the classifier came back with: %d, the real answer is: %d\" % (classifierResult,classNumStr))\n",
    " \n",
    "        #统计分类器对测试数据分类犯错的个数\n",
    "        if (classifierResult != classNumStr):\n",
    "              errorCount += 1.0\n",
    "    print(\"\\nthe total number of error is: %d\" % errorCount)\n",
    " \n",
    "    #输出分类器错误率\n",
    "    print(\"\\nthe total error rate is: %f\" % (errorCount/float(mTest)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "#婚恋代码详细解释\n",
    "from numpy import *\n",
    "import operator\n",
    " \n",
    "#样本数据集创建函数\n",
    "def creatDataSet():\n",
    "    dataSet = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])\n",
    "    labels = ['A','A','B','B']\n",
    "    return dataSet,labels\n",
    " \n",
    " \n",
    "#k-NN简单实现函数\n",
    "def classify0(inX,dataSet,labels,k):\n",
    " \n",
    "    #求出样本集的行数，也就是labels标签的数目\n",
    "    dataSetSize = dataSet.shape[0]\n",
    " \n",
    "    #构造输入值和样本集的差值矩阵\n",
    "    diffMat = tile(inX,(dataSetSize,1)) - dataSet\n",
    " \n",
    "    #计算欧式距离\n",
    "    sqDiffMat = diffMat**2\n",
    "    sqDistances = sqDiffMat.sum(axis=1)\n",
    "    distances = sqDistances**0.5\n",
    " \n",
    "    #求距离从小到大排序的序号\n",
    "    sortedDistIndicies = distances.argsort()\n",
    " \n",
    "    #对距离最小的k个点统计对应的样本标签\n",
    "    classCount = {}\n",
    "    for i in range(k):\n",
    "        #取第i+1近邻的样本对应的类别标签\n",
    "        voteIlabel = labels[sortedDistIndicies[i]]\n",
    "        #以标签为key，标签出现的次数为value将统计到的标签及出现次数写进字典\n",
    "        classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1\n",
    " \n",
    "    #对字典按value从大到小排序\n",
    "    sortedClassCount = sorted(classCount.items(),key=operator.itemgetter(1),reverse=True)\n",
    " \n",
    "    #返回排序后字典中最大value对应的key\n",
    "    return sortedClassCount[0][0]\n",
    " \n",
    "#从文本文件中解析数据\n",
    "def file2matrix(filename):\n",
    "    fr = open(filename)\n",
    "    \n",
    "    #按行读取整个文件的内容\n",
    "    arrayOfLines = fr.readlines()\n",
    "    \n",
    "    #求文件行数，即样本总数\n",
    "    numberOfLines = len(arrayOfLines)\n",
    " \n",
    "    #初始化返回数组及列表\n",
    "    returnMat = zeros((numberOfLines,3))\n",
    "    classLabelVector = []\n",
    "    \n",
    "    index = 0\n",
    "    for line in arrayOfLines:\n",
    "        #截取掉每一行的回车符\n",
    "        line = line.strip()\n",
    "        #将一行数据根据制表符分割成包含多个元素（特征）的列表\n",
    "        listFromLine = line.split('\\t')\n",
    "        #分割后的特征数据列表存入待返回的numpy数组\n",
    "        returnMat[index,:] = listFromLine[0:3]\n",
    "        #将文件每一行最后一列的数据存入待返回的分类标签列表\n",
    "        classLabelVector.append(int(listFromLine[-1]))\n",
    "        #控制待返回的numpy数组进入下一行\n",
    "        index+=1\n",
    "    return returnMat,classLabelVector\n",
    " \n",
    "#特征变量归一化\n",
    "def autoNorm(dataSet):\n",
    " \n",
    "    #取出每一列的最小值，即每一个特征的最小值\n",
    "    minVals = dataSet.min(0)\n",
    " \n",
    "    #取出每一列的最大值，即每一个特征的最大值\n",
    "    maxVals = dataSet.max(0)\n",
    " \n",
    "    #每一个特征变量的变化范围\n",
    "    ranges = maxVals - minVals\n",
    " \n",
    "    #初始化待返回的归一化特征数据集\n",
    "    normDataSet = zeros(shape(dataSet))\n",
    " \n",
    "    #特征数据集行数，即样本个数\n",
    "    m = dataSet.shape[0]\n",
    " \n",
    "    #利用tile()函数构造与原特征数据集同大小的矩阵，并进行归一化计算\n",
    "    normDataSet = dataSet - tile(minVals,(m,1))\n",
    "    normDataSet = normDataSet/tile(ranges,(m,1))\n",
    " \n",
    "    return normDataSet,ranges,minVals\n",
    " \n",
    "#分类器测试\n",
    "def datingClassTest():\n",
    " \n",
    "    #给定用于测试分类器的样本比例\n",
    "    hoRatio = 0.10\n",
    " \n",
    "    #调用文本数据解析函数\n",
    "    datingDataMat,datingLabels = file2matrix('F:/programming tools/datingTestSet2.txt')\n",
    " \n",
    "    #调用特征变量归一化函数\n",
    "    normMat,ranges,minVals = autoNorm(datingDataMat)\n",
    " \n",
    "    #归一化的特征数据集行数，即样本个数\n",
    "    m = normMat.shape[0]\n",
    " \n",
    "    #用于测试分类器的测试样本个数\n",
    "    numTestVecs = int(m*hoRatio)\n",
    "    \n",
    "    #初始化分类器犯错样本个数\n",
    "    errorCount = 0.0\n",
    "    \n",
    "    for i in range(numTestVecs):\n",
    "        #以测试样本作为输入，测试样本之后的样本作为训练样本，对测试样本进行分类\n",
    "        classifierResult = classify0(normMat[i,:],normMat[numTestVecs:m,:],datingLabels[numTestVecs:m],3)\n",
    " \n",
    "        #对比分类器对测试样本预测的类别和其真实类别\n",
    "        print(\"the classifier came back with: %d,the real answer is: %d\" % (classifierResult,datingLabels[i]))\n",
    " \n",
    "        #统计分类出错的测试样本数\n",
    "        if (classifierResult != datingLabels[i]):\n",
    "            errorCount+=1.0\n",
    " \n",
    "    #输出分类器错误率        \n",
    "    print(\"the total error rate is: %f\" % (errorCount/float(numTestVecs)))\n",
    " \n",
    "#约会网站对新输入分类\n",
    "def classifyPerson():\n",
    " \n",
    "    #定义一个存储了三个字符串的列表，分别对应不喜欢，一般喜欢，很喜欢\n",
    "    resultList = ['not at all','in small dose','in large dose']\n",
    " \n",
    "    #用户输入三个特征变量，并将输入的字符串类型转化为浮点型\n",
    "    ffMiles = float(input(\"frequent flier miles earned per year:\"))\n",
    "    percentats = float(input(\"percentage of time spent playing video games:\"))\n",
    "    iceCream = float(input(\"liters of ice cream consumed per year:\"))\n",
    " \n",
    "    #调用文本数据解析函数\n",
    "    datingDataMat,datingLabels = file2matrix('F:\\programming tools\\datingTestSet2.txt')\n",
    " \n",
    "    #调用特征变量归一化函数\n",
    "    normMat,ranges,minVals = autoNorm(datingDataMat)\n",
    " \n",
    "    #将输入的特征变量构造成特征数组（矩阵）形式\n",
    "    inArr = array([ffMiles,percentats,iceCream])\n",
    "    #调用kNN简单实现函数\n",
    "    classifierResult = classify0((inArr-minVals)/ranges,normMat,datingLabels,3)\n",
    "    #将分类结果由数字转换为字符串\n",
    "    print(\"You will probably like this person\",resultList[classifierResult - 1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
